一道面试题# JobHunting - 待字闺中m*w2014-02-27 08:021 楼How to find the largest sum of 3 integers in a row in an array? Anysuggestion?
e*i2014-02-27 08:022 楼3个,再减一加一。。。没看出别的方法【在 m***w 的大作中提到】: How to find the largest sum of 3 integers in a row in an array? Any: suggestion?
s*y2014-02-27 08:024 楼{5, 1, 6, 4, 8}5 + 1 + 6 --> 5 + 4 +6 --> 5+8+6如果当前数比三个数其中一个小,把最小的替换出来。【在 m***w 的大作中提到】: 能再详细点不?
l*u2014-02-27 08:025 楼"3 integers in a row",一样方法,减最前面的,加下一个。【在 s******y 的大作中提到】: {5, 1, 6, 4, 8}: 5 + 1 + 6 --> 5 + 4 +6 --> 5+8+6: 如果当前数比三个数其中一个小,把最小的替换出来。
b*e2014-02-27 08:027 楼这个题这样出肯定是要找最少的加法操作数。我认为应该是问这个:分4个数为一组,a, b, c, d。先算b+c,再算a+b+c,再算b+c+d,然后比较两个值。这样3个加法解决了四个数,解决n个数要3/4*n个加法。但是这只解决了一半的问题:从a和b开始的解决了,从c和d开始的三连数还没照顾到。那就再做一遍,这次从c开始。两遍加起来一共是3/2*n个加法。比直观的2*n个加法好。
f*x2014-02-27 08:028 楼从a牛X【在 b***e 的大作中提到】: 这个题这样出肯定是要找最少的加法操作数。我认为应该是问这个:: 分4个数为一组,a, b, c, d。先算b+c,再算a+b+c,再算b+c+d,然后比较两个值。这: 样3个加法解决了四个数,解决n个数要3/4*n个加法。但是这只解决了一半的问题:从a: 和b开始的解决了,从c和d开始的三连数还没照顾到。那就再做一遍,这次从c开始。两: 遍加起来一共是3/2*n个加法。比直观的2*n个加法好。
b*e2014-02-27 08:0210 楼This is just experience. You see more, you know more about what the problemis really made of. Just remember the solution. That being said, suchproblems are mostly non-sense. I would only ask A3 such problems.【在 d*******u 的大作中提到】: 能看明白,但自己真心想不出来呀。
l*82014-02-27 08:0211 楼稍微改一下blaze的方法:分4个数为一组,a, b, c, d。先算b+c。 然后比较a和d,只计算b+c + max(a, d). 这样,两次加法解决了两个三连数。 n个数字有n-2个三连数,总共需要(n-2)次加法。从a【在 b***e 的大作中提到】: 这个题这样出肯定是要找最少的加法操作数。我认为应该是问这个:: 分4个数为一组,a, b, c, d。先算b+c,再算a+b+c,再算b+c+d,然后比较两个值。这: 样3个加法解决了四个数,解决n个数要3/4*n个加法。但是这只解决了一半的问题:从a: 和b开始的解决了,从c和d开始的三连数还没照顾到。那就再做一遍,这次从c开始。两: 遍加起来一共是3/2*n个加法。比直观的2*n个加法好。
b*e2014-02-27 08:0212 楼后生可畏。。【在 l*********8 的大作中提到】: 稍微改一下blaze的方法:: 分4个数为一组,a, b, c, d。先算b+c。 然后比较a和d,只计算b+c + max(a, d). : 这样,两次加法解决了两个三连数。 n个数字有n-2个三连数,总共需要(n-2)次加法。: : 从a