首页 > > > 一段简单代码的运行性能疑惑?
在leetcode做一道简单的算法题,自己解决了问题。但是阅读最快的那一段代码,同样是一个循环,但是时间复杂度怎么差了10倍左右?
time:0ms
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int fast=0,slow=0;
for(int i=0;i<nums.size();++i)
{
if(nums[fast]==val)
{
fast++;
}
else
{
nums[slow] = nums[fast];
slow ++;
fast ++;
}
}
return slow;
}
};time:8ms
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int i=0;
for(unsigned int j=0;j!=nums.size();++j){
if(nums[j]!=val)
nums[i++]=nums[j];
}
return i;
}
};来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/430/viewspace-3151106/ ,如需转载,请注明出处,否则将追究法律责任。