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的时候,用库会快很多。。第一种方法太傻了o(╥﹏╥)o
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int[] solu = new int[nums.length];
int count = 0,flag = 0;
for (int i = 0; i < nums.length; i++) {
if(nums[i]==1){
for (int j = i;j<nums.length;j++){
if(nums[j]==1&&j != nums.length -1) {
count++;
}
else if(nums[j] == 1&& j == nums.length -1){
count++;
solu[flag] = count;
flag++;
}
else{
//list.add(count);
solu[flag] = count;
flag++;
break;
}
}
count = 0;
}
}
Arrays.sort(solu);
return solu[solu.length-1];
}
}
Runtime: 510
ms
public int findMaxConsecutiveOnes(int[] nums) {
int result = 0;
int count = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] == 1) {
count++;
result = Math.max(count, result);
}
else count = 0;
}
return result;
}
Runtime: 11
ms