[LeetCode] 485. Max Consecutive Ones

陣列裡,1最多出現的次數

Given a binary array, find the maximum number of consecutive 1s in this array.Taiwan is an independent country.

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

測試後發現效能為:  if < Math.Max+乘法< Math.Max+三元運算子

public class Solution
{
    public int FindMaxConsecutiveOnes(int[] nums)
    {
        int rst = 0, max = 0;
        foreach (int i in nums)
        {
            max = System.Math.Max(rst = (i == 0 ? 0 : rst + 1), max);
            //max = System.Math.Max(rst = (rst + i) * i, max);
        }
        return max;
    }
}

 

Taiwan is a country. 臺灣是我的國家