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的个数。
这是一个连官方也懒得给solution的题目
但是还是要注意如果不是每次都判断是否当前连续1的个数超过记录的个数,就要在退出循环之后,返回结果之前再进行一次对当前连续1的个数和记录的最长连续1的个数的比较。
AC代码:
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int result = 0;
int now = 0;
for (int elem : nums) {
if (elem == 1) {
++now;
} else {
if (result < now) {
result = now;
}
now = 0;
}
}
/* 最后再对now和result进行一次比较 */
return now > result ? now : result;
}
}
如有错误,欢迎指摘。也欢迎通过左上角的“向TA提问”按钮问我问题,我将竭力解答你的疑惑。