[LeetCode]485. Max Consecutive Ones 解题报告(C++)
题目描述
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出现的最大次数
解题思路
- 遍历数组.
- 遇到1,cnt++.遇到0,则需要重置cnt.
- 每次更新 res
代码实现:
int findMaxConsecutiveOnes(vector<int>& nums) {
int result = 0;
int tmp = 0;
for (auto x : nums) {
if (x == 1) {
tmp += 1;
}
else {
tmp = 0;
}
if (tmp > result) {
result = tmp;
}
// result = max(reslut,tmp);
}
return result;
}
小结
- 注意遍历数组的方法
auto x:nums
.不需要索引信息的时候.可以使用这个. - 注意
max
的使用.