int removeDuplicates(vector<int>& nums) {
int new_len = 0;
if (nums.size() == 0) {
return 0;
}
for (int i = 0; i < nums.size(); i++) {
if (nums[new_len] != nums[i]) {
new_len++;
nums[new_len] = nums[i];
}
}
return new_len + 1;
}
ps:也可以直接儲存目前數值,避免反複查找數組,進而提高速度
int removeDuplicates(vector<int>& nums) {
int new_len = 0;
if (nums.size() == 0) {
return 0;
}
int cur = nums[new_len];
for (int i = 0; i < nums.size(); i++) {
if (cur != nums[i]) {
new_len++;
cur = nums[i];
nums[new_len] = cur;
}
}
return new_len + 1;
}