LeetCode 485. Max Consecutive Ones

来源:互联网 发布:老虎为什么数量少 知乎 编辑:程序博客网 时间:2024/05/17 04:40

Given a binary array, find the maximum number of consecutive 1s in this array.

Example 1:

Input: [1,1,0,1,1,1]Output: 3Explanation: 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;    }};
0 0
原创粉丝点击