題幹
給定乙個整數陣列 nums ,找到乙個具有最大和的連續子陣列(子陣列最少包含乙個元素),返回其最大和。
示例:輸入: [-2,1,-3,4,-1,2,1,-5,4]
輸出: 6
解釋: 連續子陣列 [4,-1,2,1] 的和最大,為 6。
高階:如果你已經實現複雜度為 o(n) 的解法,嘗試使用更為精妙的分治法求解。
解題過程
classsolution
return
maxans;
}}
主要思路為定義乙個中間變數。從陣列開頭開始,累加相鄰元素,同時與每個當前元素對比看誰大,如果當前元素更大則從當前重新開始累加,如果累加元素大則把當前元素累加進去。然後與不累加的之前記錄的最大值對比,哪個大則記錄那個為當前最大值。
記錄很多刷題的解題答案上寫了這種for(int a:b)格式
一開始沒搞明白
for(int a:b),b陣列中定義乙個a作為指示器,用來遍歷b陣列
publicclass
test
return
sum;
}public
static
void
main(string args);
system.out.println(cal(nums));
}}//
返回15
for(int a:b)
後面陣列b中的元素一一取出賦給 左邊的變數a 然後執行迴圈體
for (int i=0; i)for (int
a:b)
}
二者是一樣的
53 最大子序和
給定乙個整數陣列nums,找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6。兩個變數,乙個是ans,用來儲存 更新子串行 乙個maxn,始終儲存著當前最大的子串行。子串行...
53 最大子序和
題目 給定乙個整數陣列nums,找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6解釋 連續子陣列 4,1,2,1 的和最大,為 6。思路 因為要考慮連續,所以需注意兩點,與當前比較的必定包含當前節點的上乙個節點,前n個節點...
53 最大子序和
給定乙個整數陣列nums,找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6解釋 連續子陣列 4,1,2,1 的和最大,為 6。高階 如果你已經實現複雜度為 o n 的解法,嘗試使用更為精妙的分治法求解。package le...