LeetCode刷题(485. 最大连续1的个数)

近来刷LeetCode上面的题。由于是纯菜鸟,很多特简单的题都不太会,而且很多题自己设计的算法,复杂度太高,希望能借助一下这个平台,能够学到大神们更好的算法(C#实现)。

这道题比较简单。使用了两个int变量,一个是用来临时存储连续1的个数。另一个是存储当前连续1的个数的最大值。但是有一陷阱就是数组最后一个数为1的情况。

代码如下:

public class Solution {
    public int FindMaxConsecutiveOnes(int[] nums) {
        int n = 0;
            int max = 0;
            for (int i = 0; i < nums.Length ; i++)
            {   
                if (nums[i] == 1)
                {
                    n++;
                    if (i == nums.Length - 1)
                    {
                        if (n > max)
                        {
                            max = n;
                        }
                    }
                }
                else
                {
                    if (n > max)
                    {
                        max = n;
                    }
                    n = 0;
                }                
            }           
            return max;
    }
}

你可能感兴趣的:(LeetCode刷题(485. 最大连续1的个数))