532. K-diff Pairs in an Array

此题不难,主要涉及C++中vector数组去重操作。

  • unique函数是一个去重函数,去除相邻中的重复元素(只留一个)。
    其中,关键的是:去除并不是把重复的元素删除,而是全部放到数组的最后。

为了去除重复的元素,首先应该对数组vector进行排序,这样保证重复元素在相邻的位置。

  • unique函数,返回的是去重后的尾地址。
    因此对于一个内容为{2, 2, 5, 5, 6}的vector,执行unique函数以后,vector大小并没有改变,只不过顺序变成了{2, 5, 6, 2, 5},并且函数的返回值为3。此时需要删除重复元素,只需要将后面的数据全部删除即可。
class Solution {
public:
    int findPairs(vector& nums, int k) {
        if(nums.size()==0)
            return 0;
        sort(nums.begin(), nums.end());
        int cnt=0;
        if(k==0){
            
            for(int i=0;i

你可能感兴趣的:(532. K-diff Pairs in an Array)