LeetCode/solutions/485. Max Consecutive Ones.md
2019-09-13 23:08:41 +08:00

27 lines
944 B
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# [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++
```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;
}
};
```