80. Remove Duplicates from Sorted Array II

来源:互联网 发布:dfx设计 java 编辑:程序博客网 时间:2024/06/06 15:39

problem:

Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?

For example,
Given sorted array nums = [1,1,1,2,2,3],

Your function should return length = 5, with the first five elements of nums being 1122 and 3. It doesn't matter what you leave beyond the new length.

思路是只保存最后两个重复的元素,所以对nums进行循环,若和两位后的数据不一样,则保存下来,否者不操作。

class Solution {public:    int removeDuplicates(vector<int>& nums) {        int result=0;        if(nums.size() < 3)            return nums.size();                vector<int> temp;        for(int i=0; i<nums.size()-2; i++)        {            if(nums[i] != nums[i+2])            {                temp.push_back(nums[i]);                result++;            }                        }        temp.push_back(nums[nums.size()-2]);        temp.push_back(nums[nums.size()-1]);        nums = temp;        return result+2;    }};


0 0
原创粉丝点击