自学内容网 自学内容网

面试第150题第二周

两题类似,但是解法有区别

26. 删除有序数组中的重复项

【题目描述】

【参考代码】

#include <map>

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        map<int, int> mp;
        for(int num : nums)
        {
            mp[num]++;
        }
        int i=0;
        for(auto it : mp)
        {
            nums[i++] = it.first;
        }
        return mp.size();
    }
};

27. 移除元素

【题目描述】

【参考代码】

class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int size = nums.size();
        int Count = 0;
        for(int i=0; i<size; i++)
        {
            if(nums[i] == val)
            {
                Count++;
                for(int j=i+1; j<size; j++)
                {
                    nums[j-1] = nums[j];
                }
                i--;
                size--;
            }
        }
        return size;
    }
};

原文地址:https://blog.csdn.net/CH3CH2CH4/article/details/143083340

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!