时间轴
时间轴
2025-09-28
init
std::unique
题目:
std::unique 是 C++
1234567891011 | using std::vector;class Solution {public: int removeDuplicates(vector<int>& nums) { nums.erase(std::unique(nums.begin(),nums.end()),nums.end()); return nums.size(); }}; |
经典快慢指针解法:快指针表示遍历数组到达的下标位置,慢指针表示下一个不同元素要填入的下标位置,初始时两个指针都指向下标 1。
123456789101112131415161718 | class Solution {public: int removeDuplicates(vector<int>& nums) { int n = nums.size(); if (n == 0) { return 0; } int fast = 1, slow = 1; while (fast < n) { if (nums[fast] != nums[fast - 1]) { nums[slow] = nums[fast]; ++slow; } ++fast; } return slow; }}; |
