求數值陣列中連續和最大的子陣列

2021-10-17 08:38:14 字數 738 閱讀 2026

好久沒寫演算法了,今天就拿這道簡單的題練一練手。

/**

* 獲取數字陣列中的最大子陣列(返回下標map)

* @param array 陣列

* @return map 下標map

*/public

static map

getmaxsubarray

(int

array)

continue;}

//對之後的資料進行處理

int high =

0, endindex = i, sum =0;

for(

int j = i+

1; j < array.length; j++)}

//合併處理, 將之後位置連續求的和加上當前位置的值判斷與max的大小

if(array[i]

+ high > max)

} system.out.

println

("maxvalue = "

+ max)

; map.

put(

"startindex"

, maxstartindex +1)

; map.

put(

"endindex"

, maxendindex +1)

;return map;

}

求陣列中連續子陣列的最大和

思路 計算出任意i到j之間連續子陣列的和再比較必然能得到最大值,但時間複雜度為o n 2 我們希望能找出線性時間的演算法。我們注意到,假如陣列中全為正數,那麼最大和必然為全部數相加 如果陣列中有負數,並且如果加上某個負數,子陣列的和小於0,則最大和子陣列必然不包含這個負數。基於此,給出以下 incl...

求陣列中連續子陣列的最大值

求解陣列中連續一段子陣列和的最大值。例如 最大值為59 26 53 58 97 187 思路 計算出任意i到j之間連續子陣列的和再比較必然能得到最大值,但時間複雜度為o n 2 我們希望能找出線性時間的演算法。我們注意到,假如陣列中全為正數,那麼最大和必然為全部數相加 如果陣列中有負數,並且如果加上...

動態規劃 求陣列最大的子陣列連續和

rt 如下 求子陣列的最大和 利用的是dp的思想,依次遍歷陣列中的每個元素,把他們相加,如果加起來小於0,則 把當前元素之和清為0,否則則和最大和比較,更新最大和,最後得到必是子陣列的最大和 例如輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因此輸出為該子陣列的...