Create 485. Max Consecutive Ones.md

This commit is contained in:
唐树森 2018-09-08 19:49:55 +08:00 committed by GitHub
parent 44fba1bcff
commit 38ff196928
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,26 @@
# [485. Max Consecutive Ones](https://leetcode.com/problems/max-consecutive-ones/description/)
# 思路
从前往后遍历数组用max记录后面要返回的结果用current记录当前连续1的个数对于nums[i]:
* 若nums[i] == 1, current += 1即可
* 否则若current大于0表示前一个元素是0当前元素是1则对比current和max看是否更新max然后将current置0。
注意跳出循环后也要判断一次是否更新max。
# C++
```
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int max = 0, current = 0;
for(int i = 0; i < nums.size(); i++){
if(nums[i]) current += 1;
else if(current > 0){ // 这里直接else也可以但是时间会慢一些
if(current > max) max = current;
current = 0;
}
}
if(current > max) max = current;
return max;
}
};
```