#力扣 LeetCode485. 最大連續1的個數 @FDDLC
阿新 • • 發佈:2021-02-01
技術標籤:演算法&資料結構
題目描述:
https://leetcode-cn.com/problems/max-consecutive-ones/
Java程式碼:
class Solution { public int findMaxConsecutiveOnes(int[] nums) { int ans=0; for(int i=nums.length-1,cnt=0;i>=0;i--){ cnt=nums[i]==1?cnt+1:0; if(ans<cnt)ans=cnt; } return ans; } }
Java程式碼二:
class Solution { public int findMaxConsecutiveOnes(int[] nums) { int ans=0,cnt=0; for(int i=nums.length-1;i>=0;i--){ if(nums[i]==1)cnt++; else{ if(ans<cnt)ans=cnt; //可能是最大,但沒有進入else,因此在return處打補丁 if(ans>=i)break; //提前退出 cnt=0; } } return Math.max(ans,cnt); } }
Java程式碼三:
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int ans=0,cnt=0;
for(int i=nums.length-1;i>=0;i--){
cnt=(cnt+1)*nums[i];
if(ans<cnt)ans=cnt;
}
return ans;
}
}