累加和位指定值的最長子陣列

2022-05-18 10:22:17 字數 465 閱讀 7700

package

day;

/*** 累加和位指定值的最長子陣列

* 這是乙個可伸縮的滑動視窗,不斷地在k值的上下波動,

* 並且要不斷的判斷right是否越界,由於都是整數,所以left不會比right先到arr.length位置上。

* @author

administrator *

*/public

class

demo2

int left = 0;

int right= 0;

int sum = arr[0];

int len = 0;

while(right <=arr.length)

else

if(sum sum =sum +arr[right];

}else

}return

len;

}}

累加和為aim的最長子陣列

參考 擴充套件1乙個陣列中要麼是奇數,要麼是偶數,求奇數和偶數相等的最長子陣列。思路用1表示奇數,用 1表示偶數,那麼就是求累加和為0的最長子陣列,參考上面 擴充套件2求乙個陣列怎樣劃分可以使得子陣列異或為0的個數最多。思路動態規劃 定義乙個dp陣列,dp i 表示以 i 結尾可以劃分的最多個數 對...

未排序正整數組中累加和為指定值的最長子陣列長度

題目 給定乙個陣列arr,該陣列無序,但每個值都為正數,在給定乙個正數k。求arr中所有的子陣列中所有元素累加為k的最長子陣列長度。例如,arr 1,2,1,1,1 k 3.累加和為3的最長子陣列為 1,1,1 所以返回結果為3。基本思路 使用兩個指標left和right,代表子陣列的範圍,初始時都...

演算法 求陣列中累加和為定值的最長子陣列

o n n 的演算法,我想大家都應該很瞭如指掌,那我們就講一種o n 的演算法,借助map巧妙地解決。主要在思想上,其實很簡潔 後面有類似思想拓展題。演算法思想 我們準備乙個map來完成記錄操作。map的意義是從開始累加到i位置的和為sum的時候,此時陣列的下標i。且sum必須是新出現的。初始的時候...