Below are two sets of code performing the same functionality. Here the method is almost same. Could anyone explain me why the runtime of code1 is lesser than code2.
#code 1
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int count=0, res=0;
int n= nums.size();
for(int i=0;i<n;i++){
if(nums[i]==0){
count=0;
}
else{
count++;
res = max(count,res);
}
}
return res;
}
};
#code 2
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int count=0, res=0;
int n= nums.size();
for(int i=0;i<n;i++){
if(nums[i]==0){
count++;
res = max(res,count);
}
else{
count=0;
}
}
return res;
}
};
Code1 takes 24ms to run while code2 takes 36ms to run.