简单一个数组问题,第一天刷题,我大概看了一下别人推荐的刷题顺序,这里附上链接
https://leetcode-cn.com/circle/article/48kq9d/
作者:noone_;
485.最大连续1的个数
给定一个二进制数组, 计算其中最大连续 1 的个数。
提示:
- 输入的数组只包含
0
和1
。 - 输入数组的长度是正整数,且不超过 10,000。
代码如下:
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int count=0;
int max=0;
for(int i=0;i<nums.length;i++)
{
if(nums[i]==1){
count++;
}else{
if(count>max)
max=count;
count=0;
}
}
if(count>max)
max=count;
return max;
}
}
这是一道简单的数组问题,看到这一题,我还是想了几分钟的,毕竟好久没有碰过题了,这真的很尴尬。编程的最终目的,就是解决实际中的问题,生活中的粒子比比皆是。打好基础,算法和数据结构尤其重要。
上面那个比较,也可以调用已经写好的math库的。
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int count=0;
int max=0;
for(int i=0;i<nums.length;i++)
{
if(nums[i]==1)count++;
else{
max = Math.max(max, count);
count = 0;
}
}
max = Math.max(max, count);
return max;
}
}
下面相对来说,提高了性能。