【LeetCode】485. Max Consecutive Ones
2017-03-16 17:25
441 查看
问题描述
问题链接:https://leetcode.com/problems/max-consecutive-ones/#/descriptionGiven 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
我的代码
思路比较简单,直接上代码了。public class Solution { public int findMaxConsecutiveOnes(int[] nums) { /* 思路是遍历整个数组,如果碰到1,curLen ++。然后继续向后 如果碰到了0,比较一下curLen和maxLen,如果curLen>maxLen,则maxLen = curLen */ int maxLen = 0; int curLen = 0; int len = nums.length; for(int i = 0; i < len; i++){ if(nums[i] == 1){ curLen ++; } if(nums[i] == 0 || i == len - 1){ if(curLen > maxLen){ maxLen = curLen; } curLen = 0; } } return maxLen; } }
打败了55.28%的Java代码,来看看讨论区的大神们。
讨论区
Java 4 lines concise solution with explanation
链接地址:https://discuss.leetcode.com/topic/75437/java-4-lines-concise-solution-with-explanation这个蛮简洁的。
public int findMaxConsecutiveOnes(int[] nums) { int maxHere = 0, max = 0; for (int n : nums) max = Math.max(max, maxHere = n == 0 ? 0 : maxHere + 1); return max; }
Easy Java Solution
链接地址:https://discuss.leetcode.com/topic/75430/easy-java-solution感觉这个就是我的加强版,就是要这种感觉!
public class Solution { 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; } }
相关文章推荐
- LeetCode -485. Max Consecutive Ones - 思路详解 - C++
- leetcode--485. Max Consecutive Ones
- Leetcode 485. Max Consecutive Ones
- LeetCode-485. Max Consecutive Ones
- Leetcode 485. Max Consecutive Ones
- LeetCode_485. Max Consecutive Ones
- leetcode 485. Max Consecutive Ones
- 485. Max Consecutive Ones leetcode array
- 【LeetCode】485. Max Consecutive Ones
- 【Leetcode】485. Max Consecutive Ones
- Leetcode 485. Max Consecutive Ones 最大连续1 解题报告
- LeetCode 485. Max Consecutive Ones
- Leetcode:485. Max Consecutive Ones 找二进制串连续1最多是多少
- Leetcode485. Max Consecutive Ones
- python--leetcode485. Max Consecutive Ones
- LeetCode 485. Max Consecutive Ones (边界处理)
- leetcode 485. Max Consecutive Ones
- LeetCode-485. Max Consecutive Ones
- LeetCode:485. Max Consecutive Ones
- leetcode 485. Max Consecutive Ones