首页 > 其他 > 详细

leetcode 485. Max Consecutive Ones

时间:2017-07-28 12:38:09      阅读:150      评论:0      收藏:0      [点我收藏+]

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的个数,递推一下

class Solution {
public:
    int findMaxConsecutiveOnes(vector<int>& nums) {
        int ans ;
        int dp1 = 0,dp2 = 0;
        dp1 = (nums[0] == 1);
        ans = dp1;
        for (int i = 1; i < nums.size(); ++i) {
            if (nums[i] == 1) {
                if (nums[i - 1] == 1) dp2 = dp1 + 1;
                else dp2 = 1;
            }
            ans = max(dp2, ans);
            dp1 = dp2;
        }
        return ans;
    }
};

 

leetcode 485. Max Consecutive Ones

原文:http://www.cnblogs.com/pk28/p/7249541.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!