輸入只有0和1的數組(長度爲正整數,且<10000),找到最大的連續1的個數
好比[1,1,0,1,1,1],輸出3java
遍歷數組,統計當前連續個數curCount和最大連續值maxCount。If當前數組值爲1,則curCount++;不然(值爲0)比較curCount和maxCount,看是否須要替換,並把curCount置0
最後返回maxCount數組
錯誤:對於[1]這種邊界條件沒有考慮徹底。這種時候上面的邏輯會輸出0,而應該是1。也就是結束的時候須要增長一個比較,萬一若是最後的連續1的個數比較多。code
——解決:在遍歷完,返回以前,增長一個[比較curCount和maxCount,看是否須要替換]。io
public class Solution { public int findMaxConsecutiveOnes(int[] nums) { int curCount=0,maxCount=0; for(int n: nums){ if(n==1) curCount++; else{ if(curCount>maxCount) maxCount=curCount; curCount=0; } } if(curCount>maxCount) maxCount=curCount; return maxCount; } }