第一题
J a v a 代 码 : \color{pink}{Java 代码:} Java代码:
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int count = 0, maxcount = -1;
for(int i = 0; i < nums.length; i++){
if(nums[i] == 1){
count++;
}else{
count = 0;
}
//if(count > max) max = count;
maxcount = Math.max(count, maxcount);
}
return maxcount;
}
}
- Java中一个比较大小的函数:Math.max(num1,num2);在C++中为max(num1,num2)函数.
- 计算数组长度的函数:
nums.length (Java)
nums.size() (C++)
C + + 代 码 : \color{pink}{C++代码:} C++代码:
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int maxcount = 0, count = 0;
for(int i = 0; i < nums.size(); i++){
if(nums[i] == 1) count++;
else count = 0;
maxcount = max(count, maxcount);
}
return maxcount;
}
};
第二题
C + + 代 码 : \color{pink}{C++代码:} C++代码:
int findPoisonedDuration(vector<int>& timeSeries, int duration) {
int counttime = duration;
int length = timeSeries.size();
for(int i = 0; i < length - 1; i++){
// if(timeSeries[i + 1] - timeSeries[i] <= duration) counttime += timeSeries[i + 1] - timeSeries[i];
// else counttime += duration;
counttime += min(timeSeries[i+1]-timeSeries[i], duration);
}
return counttime;
}
- 获取最小值的函数
min (C++)、Math.min(Java)
- 有时候判断大小比较的两种情况,可以用一条语句代替
if(a > b) sum += b;
else sum += a;
//可代替为:
sum += min(a, b);
J a v a 代 码 : \color{pink}{Java代码:} Java代码:
class Solution {
public int findPoisonedDuration(int[] timeSeries, int duration) {
int time = duration;
for(int i = 0; i < timeSeries.length - 1; i++){
// if(timeSeries[i+1]- timeSeries[i] < duration) time = time + timeSeries[i + 1] - timeSeries[i];
// else time = time + duration;
time += Math.min(timeSeries[i+1]-timeSeries[i], duration);
}
return time;
}
}