刷题顺序:有没有人一起从零开始刷力扣 - 力扣(LeetCode)
485
思路:遍历每个数组,用tmp存储当前连续的1的个数,当遇到0时,说明当前tmp已经存储完,和max比较找出最大的。
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int tmp = 0;
int max = 0;
for(int i=0;i<nums.length;i++){
if(nums[i]==1){
tmp +=1;
}
else{
if(tmp>max){
max = tmp;
}
tmp = 0;
}
}
if(tmp>max){
max = tmp;
}
return max;
}
}
495
思路:先求出最大的中毒时长,再减去重合的中毒时间。
class Solution {
public int findPoisonedDuration(int[] timeSeries, int duration) {
int sum = timeSeries.length*duration;
for(int i=1;i<timeSeries.length;i++){
if(timeSeries[i]-timeSeries[i-1]<duration){
sum-=duration-timeSeries[i]+timeSeries[i-1];
}
}
return sum;
}
}