设计一种线性算法,该算法在所有这些子序列中具有最高总和的N个长整数序列中发现大多数M的连续子序列。实现你的算法,并确认其运行时间的增长顺序是线性的。有人可以向我解释这是告诉我要做什么吗?
我已经读了几次,但是我很难理解它想要我做什么。
设计一种线性算法,该算法在所有这些子序列中具有最高总和的N个长整数序列中发现大多数M的连续子序列。实现你的算法,并确认其运行时间的增长顺序是线性的。有人可以向我解释这是告诉我要做什么吗?
我已经读了几次,但是我很难理解它想要我做什么。
假设你一行有10个整数。你可以依次选择其中的1,2或3个并添加它们。你需要找出你会选择哪一个,以便总和最大。在这种情况下,M = 3,N = 10。 您的算法必须以线性时间运行。
此外,它需要在线性时间内运行,所以当您向该行添加更多整数时,比较次数应按比例增加。 – austin
好点。我更新了答案。 –
这对OP的问题现在是一个很好的答案:“这是什么意思?” –
我想它的意思是这样的(亚历克斯的回答以下计数):
N = 10
144 23 89 21 145 2 11 9 1 69
M = 3 (this is max)
take 1 number
highest is 145
take 2 numbers consequtive
highest is 144 + 23 = 167
take 3 numbers consequtive
highest is 144 + 23 + 89 = 256
Therefore answer = 144, 23, 89
负或零包括:
N = 10
0 -23 -89 21 -145 -2 11 -1 1 69
M = 3 (this is max)
take 1 number
highest is 69
take 2 numbers consequtive
highest is 1 + 69 = 70
take 3 numbers consequtive
highest is -1 + 1 + 69 = 69
Therefore answer = 1, 69
请评论,如果我是对还是错。
我无法找到的情况下在序列号的个数可以比M.少不管我怎么想它,它必须是M.
*
只有窗口不必总是包括最高的国家之一N个整数。
*
好吧,我发现一个情况,计数小于M.请参阅上面的第二个代码块。
什么是'它'?你的家庭作业?如果是这样,最好问问你的助教,而不是我们。 – bmargulies
http://codercareer.blogspot.com/2012/02/no-33-maximums-in-sliding-windows.html –
@TonyRad - 不完全。 OP给出_maximum_窗口大小。该链接假定给定的窗口大小。最佳尺寸可能会小于最大尺寸。 –