Spurs

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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

咱家代码:
count计数,遇到1则+1并有条件的更新到max中(max = max > co ? max : co;), 遇到0则count清0;
\(O(n)\) time, \(O(1)\) extra space.

int findMaxConsecutiveOnes(vector<int>& A) {
    int co = 0, max = 0, i;
    for (i = 0; i < A.size(); i++) {
        if (A[i] == 1) {
            co++;
            max = max > co ? max : co;
        }
        else co = 0;
    }
    return max;
}
posted on 2017-08-14 20:35  英雄与侠义的化身  阅读(92)  评论(0编辑  收藏  举报