485. Max Consecutive Ones最長的連續1的個數
阿新 • • 發佈:2018-04-21
src HERE mat public 代碼 bin 結果 1的個數 spl
[抄題]:
Given a binary array, find the maximum number of consecutive 1s in this array.
Example 1:
Input: [1,1,0,1,1,1] Output: 3 Explanation: The first two digits or the last three digits are consecutive 1s. The maximum number of consecutive 1s is 3.
[暴力解法]:
用temp,result,結果發現寫起來很麻煩
時間分析:
空間分析:
[優化後]:
時間分析:
空間分析:
[奇葩輸出條件]:
[奇葩corner case]:
[思維問題]:
[一句話思路]:
還是局部最大值+全局最大值的思路。用三元表達式解決局部變量的連續和中斷問題
[輸入量]:空: 正常情況:特大:特小:程序裏處理到的特殊情況:異常情況(不合法不合理的輸入):
[畫圖]:
[一刷]:
- 是maxHere + 1 統計,不是n + 1,這是是樂至?
[二刷]:
[三刷]:
[四刷]:
[五刷]:
[五分鐘肉眼debug的結果]:
[總結]:
用三元表達式解決局部變量的連續和中斷問題
[復雜度]:Time complexity: O(n) Space complexity: O(1)
[英文數據結構或算法,為什麽不用別的數據結構或算法]:
[關鍵模板化代碼]:
[其他解法]:
[Follow Up]:
487. Max Consecutive Ones II 好像不是數學就是兩根指針吧
[LC給出的題目變變變]:
[代碼風格] :
class Solution { public int findMaxConsecutiveOnes(int[] nums) { //cc if (nums == null || nums.length == 0) { return 0; }View Code//ini int max = 0; int maxHere = 0; //for loop for (int n : nums) { max = Math.max(max, maxHere = n == 0 ? 0 : maxHere + 1); } //return return max; } }
485. Max Consecutive Ones最長的連續1的個數