题目
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
题意
边遍历边保留当前最大值。
题解
python代码
class Solution(object):
def findMaxConsecutiveOnes(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
now = 0
max = 0
for i in range(0, len(nums)):
if nums[i] == 1:
now = now + 1
if nums[i] == 0 or i==(len(nums)-1):
if max < now:
max = now
now = 0
return max
C++代码
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int now = 0, max = 0;
for(int i=0; i<nums.size(); i++)
{
if(nums[i]==1){
now++;
}
if(nums[i]==0 || i==nums.size()-1)
{
if(max < now){
max = now;
}
now = 0;
}
}
return max;
}
};