leetcode 485. Max Consecutive Ones
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
and1
. - 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; } };
原文地址:http://www.cnblogs.com/pk28/
与有肝胆人共事,从无字句处读书。
欢迎关注公众号:
欢迎关注公众号: