您的位置:首页 > 编程语言 > Java开发

leetcode485 Max Consecutive Ones Java

2017-03-03 16:15 495 查看

Description

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

解法1

遍历数组,找到最长的连续1。

public int findMaxConsecutivesOnes(int[] nums) {
int max = 0;
int count = 0;
for(int n : nums) {
if(n == 1) {
count ++;
if(count > max) max = count;
}else count = 0;
}
return max;
}


解法2

110111

^ count= 1

110111

. ^ count= 2

110111

. . ^ count= 0

110111

. . . ^ count= 1

110111

. . . . ^ count= 2

110111

. . . . . ^ count= 3

public int findMaxConsecutivesOnes(int[] nums) {
int max = 0;
int count = 0;
for(int n : nums) {
max = Math.max(max, count = n == 0 ? 0 : count+1);
}
return max;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode java