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 and 1.
  • The length of input array is a positive integer and will not exceed 10,000

##分析 二进制数组中最多的连续'1'的个数
##解答 ###解法1:(我)每次'0'时取max,但返回需要再取一次max(12ms) ``` public class Solution { public int findMaxConsecutiveOnes(int[] nums) { int count = 0; int count1 = 0; for (int i = 0; i < nums.length; i++){ if(nums[i] == 1){ count++; } else{ count1 = Math.max(count,count1); count = 0; } } return Math.max(count,count1); } } ```  
###解法2:每次'1'时取max,返回无需再取;遍历数组由for改为for each(9ms√) ``` public class Solution { public int findMaxConsecutiveOnes(int[] nums) { int count = 0; int result = 0; for (int num : nums){ if(num == 1){ count++; result = Math.max(count,result); } else{ count = 0; } } return result; } } ```
posted @ 2017-02-18 10:20  妙音天女  阅读(141)  评论(0编辑  收藏  举报