您的位置:首页 > 编程语言 > C语言/C++

LeetCode 485. Max Consecutive Ones

2017-01-20 22:02 615 查看
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.


Note:

The input array will only contain 0 and 1.

The length of input array is a positive integer and will not exceed 10,000

分析:

每找到1,用一个标记submax标记连续出现1的次数,然后取max和submax最大的值。

class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int size = nums.size();
int max = 0;
for (int i = 0; i < size; i++) {
int submax = 0;
if (nums[i] == 1) {
while (i < size && nums[i] == 1) {
submax++;
i++;
}
max = max < submax ? submax : max;
}
}
return max;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息