[演算法練習及思路-程式設計師面試金典(Java解法)]No77連續數列
題號:no77
題目名:連續數列
原題URL:https://leetcode-cn.com/problems/contiguous-sequence-lcci/
題目描述
給定一個整數陣列,找出總和最大的連續數列,並返回總和。
示例
示例 1:
輸入: [-2,1,-3,4,-1,2,1,-5,4]
輸出: 6
解釋: 連續子陣列 [4,-1,2,1] 的和最大,為 6。
限制
- 如果你已經實現複雜度為 O(n) 的解法,嘗試使用更為精妙的分治法求解。
思路
1.遍歷陣列,如果當前值加前面的累計值大於當前值,那麼考慮將當前值加到累計值上
2.如果累計值小於當前值,直接用當前值做累計值肯定比較大
3.返回最大值
解題程式碼
class Solution {
public int maxSubArray(int[] nums) {
if(nums == null || nums.length ==0) return 0;
int max = nums[0];
int sum = nums[0];
for (int i = 1; i < nums.length; i++) {
if(sum+nums[i]>nums[i]) {
sum+=nums[i];
}else {
sum = nums[i];
}
if(sum>max) {
max =sum;
}
}
return max;
}
}
相關文章
- [演算法練習及思路-程式設計師面試金典(Java解法)]No85計算器演算法程式設計師面試Java
- [演算法練習及思路-程式設計師面試金典(Java解法)]No46.漢諾塔問題演算法程式設計師面試Java
- 《Cracking the Coding Interview程式設計師面試金典》----最大連續數列和View程式設計師面試
- 【程式設計師面試金典】洪水程式設計師面試
- 程式設計師面試金典Chapter1程式設計師面試APT
- 程式設計師面試金典--筆記(精華篇)程式設計師面試筆記
- 《Cracking the Coding Interview程式設計師面試金典》----連結串列分割View程式設計師面試
- 《Cracking the Coding Interview程式設計師面試金典》----數字發音View程式設計師面試
- 《Cracking the Coding Interview程式設計師面試金典》----連結串列A+BView程式設計師面試
- 《Cracking the Coding Interview程式設計師面試金典》----迴文連結串列View程式設計師面試
- 《Cracking the Coding Interview程式設計師面試金典》----實時中位數View程式設計師面試
- 《Cracking the Coding Interview程式設計師面試金典》----整數對查詢View程式設計師面試
- Java初中級程式設計師面試題寶典Java程式設計師面試題
- JAVA程式設計師面試之《葵花寶典》等Java程式設計師面試
- 2024年程式設計師金九銀十面試寶典(持續更新中................)程式設計師面試
- 【程式設計師面試金典】20180801程式設計師面試
- 《Cracking the Coding Interview程式設計師面試金典》----清除行列View程式設計師面試
- 《Cracking the Coding Interview程式設計師面試金典》----連結串列中倒數第k個結點View程式設計師面試
- Java程式設計師面試題及解答Java程式設計師面試題
- 《Cracking the Coding Interview程式設計師面試金典》----詞頻統計View程式設計師面試
- 【JAVA面試資料】程式設計師面試之葵花寶典1Java面試程式設計師
- 【JAVA面試資料】程式設計師面試之葵花寶典2Java面試程式設計師
- 《Cracking the Coding Interview程式設計師面試金典》----空格替換View程式設計師面試
- 好程式設計師Java教程之Java面試寶典Java IO篇程式設計師Java面試
- 《Cracking the Coding Interview程式設計師面試金典》----貓狗收容所View程式設計師面試
- 《Cracking the Coding Interview程式設計師面試金典》----子串判斷View程式設計師面試
- 《Cracking the Coding Interview程式設計師面試金典》----最長合成字串View程式設計師面試字串
- 《Cracking the Coding Interview程式設計師面試金典》----最小調整有序View程式設計師面試
- 《Cracking the Coding Interview程式設計師面試金典》----原串翻轉View程式設計師面試
- 《Cracking the Coding Interview程式設計師面試金典》----畫素翻轉View程式設計師面試
- 《Cracking the Coding Interview程式設計師面試金典》----翻轉子串View程式設計師面試
- 智力題(程式設計師面試經典)程式設計師面試
- android程式設計師面試寶典Android程式設計師面試
- 好程式設計師Java教程分享經典Java main方法面試題程式設計師JavaAI面試題
- 好程式設計師:Java程式設計師面試秘籍程式設計師Java面試
- 《Cracking the Coding Interview程式設計師面試金典》----最大和子矩陣View程式設計師面試矩陣
- 《Cracking the Coding Interview程式設計師面試金典》----字串變換(字典樹)View程式設計師面試字串
- 《Cracking the Coding Interview程式設計師面試金典》----單詞最近距離View程式設計師面試