总和小于等于k

时间:2016-10-30 09:27:55

标签: java algorithm

给定一个正整数a和整数k的数组,我试图找出一个算法,它将给出最长子阵列的长度,其总和小于或等于到k。我已经想出如何在O(n ^ 2)时间内解决它,但我试图在尽可能接近O(n)的情况下求解。

对于O(n)解决方案,我正在尝试创建一个起始索引和一个结束索引,这将给我一个窗口。我想检查此窗口中的总和是否为< = k AND,如果此窗口的长度大于最后记录的长度。但是,在输入时,我的逻辑就会崩溃。

1 个答案:

答案 0 :(得分:1)

我认为你的意思是

 maxLen = currLen;

我不会想到你的问题,但你不能使用end而我认为它没有正确更新。只需删除它。