删除有序vector中的重复值c++
生活随笔
收集整理的這篇文章主要介紹了
删除有序vector中的重复值c++
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
簡述
三種方法:
方法一
class Solution { public:int removeDuplicates(vector<int>& nums) {if (nums.size() <= 1) return nums.size();int i = 0, j = i;vector<int>::iterator itr = nums.begin();while (j < nums.size()) {if (nums[j] == nums[i]) { j++; }else { // erase [begin+i+1; begin+j]if (i != j+1) nums.erase(itr + i + 1, itr + j);i++;j = i;}}if (i != j + 1) nums.erase(itr + i + 1, itr + j);return nums.size();} };方法二
class Solution { public:int removeDuplicates(vector<int>& nums) {if (nums.size() <= 1) return nums.size();int i = 0;for(int j = 1; j < nums.size(); ++j) {if (nums[i] != nums[j]) nums[++i] = nums[j];}return i+1;} };方法三
class Solution { public:int removeDuplicates(vector<int>& nums) {if (nums.size() <= 1) return nums.size();int i = 0;for(int j = 1; j < nums.size(); ++j) {if (nums[i] != nums[j]) nums[++i] = nums[j];}nums.erase(nums.begin()+i+1, nums.end());return nums.size();} };總結(jié)
以上是生活随笔為你收集整理的删除有序vector中的重复值c++的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 合并两个有序链表(C++)
- 下一篇: Pytorch自定义数据集