C++删除排序数组中的重复项 算法 第1张

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 C++删除排序数组中的重复项 算法 第2张

 

 

 1 class Solution {
 2 public:
 3     int removeDuplicates(vector<int>& nums) {
 4         if (nums.empty()) {
 5             return 0;
 6         } 
 7         int j = 0;
 8         for (int i = 0; i < nums.size(); i++ ){
 9             if (nums[j]!=nums[i]){
10                 j++;
11                 nums[j] = nums[i];
12             }
13         }
14     return j+1;    
15     }
16 };

其中j用于指在最后一个不同元素的位置上,i用于向后寻找,找到第一个不相等的元素,存入j所指元素的后一位上,最终返回j+1即为所求数组的长度。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄