给定一个正整数a和整数k的数组,我试图找出一个算法,它将给出最长子阵列的长度,其总和小于或等于到k。我已经想出如何在O(n ^ 2)时间内解决它,但我试图在尽可能接近O(n)的情况下求解。
对于O(n)解决方案,我正在尝试创建一个起始索引和一个结束索引,这将给我一个窗口。我想检查此窗口中的总和是否为< = k AND,如果此窗口的长度大于最后记录的长度。但是,在输入时,我的逻辑就会崩溃。
答案 0 :(得分:1)
我认为你的意思是
maxLen = currLen;
我不会想到你的问题,但你不能使用end
而我认为它没有正确更新。只需删除它。