LeetCode(485)最大连续1的个数
今天是小呆刷题的第12天,今天的题目是:力扣(LeetCode)的第485题,最大连续1的个数
题目要求
给定一个二进制数组
nums
, 计算其中最大连续1
的个数。
示例:
1 |
|
提示:
1 <= nums.length <= 10^5
nums[i]
不是0
就是1
.
解题思路
这道题还是比较简单的,题目要求计算最大连续的1
的个数,那我们每遇到1个1
,就计数一次,如果遇到0
,说明中断了,就重新计数,最后返回计数的值就可以了。由于重新计数会覆盖之前的计数,所以还需要额外的一个变量来储存返回值。老规矩,哪怕再简单的题,一图胜千言。
1 |
|
除了上面的解法,评论区的东冬d的思路也非常的有意思,可惜小呆(数学渣渣)没想到啊。这位同学的思路是这样的:
- 由于数组中只有
0
和1
,由于0
乘任何数等于0
,1
乘任何数等于1
- 循环数组时,加上当前数字再乘以当前数字,等同于遇一加一,遇零清零
1 |
|
小结
其实不难看出,做题的思维,有些时候往往就隔着一层纱,不断拓宽的视野,丰富的知识掌握,会让刷题的过程有意向不到的收获~加油吧!
引用
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小呆&小萌的情侣博客!
评论