Leetcode: 80. Remove Duplicates from Sorted Array II

延续I

变成每种element最多出现2次。

 

思路

第一直觉是,多加一个判断几次的变数
 
 
 

程序码

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        int index = 0, onetime = true;
        for(int i = 1; i < nums.size(); i++) {
            if ((nums[index] == nums[i]) && onetime) {
                index++;
                nums[index] = nums[i];
                onetime = false;
            }
            else if(nums[index] != nums[i]) {
                index++;
                nums[index] = nums[i];
                onetime = true;
            }
            
        }
        return index + 1;
    }
};

後来

但是其实有更简洁的做法,像是遇到size为2以下的可以直接return size,而且我的程序扩展性不好,如果变成允许3个,我就又要重写了。

参考:
https://ithelp.ithome.com.tw/articles/10267168


<<:  Day 21 - Android Studio ImageView的基本使用

>>:  成员 9 人:在办公室内,建立时空虫洞

PowerShell 语言和你 SAY HELLO!!

第二十一天 各位点进来的朋友,你们好阿 小的不才只能做这个系列的文章,但还是希望分享给点进来的朋友,...

JavaScript Day 30. 关於 JavaScript 中的 This

第 30 天,本来想说或许最後一天可以来一篇心得文,让自己好好休息一下,因为这 30 天花了大量的精...

day8 kotlin coroutine的 runBlocking, withContext

runBlocking 中文用户如我们? 直译一下就是,跑一个塞住 恩,三小? 他真正的意思是,执行...

微聊 术业有专攻 Blame要找对人

倒数第二天铁人赛了,微人今日不聊程序码了,想聊一下今天在预演的小插曲 先说明一下 我的队友们真的都很...

网路方面被问到的案例整理 - 你也可以成为网路高手

接到 User 说网路不通 , 你可以请 User 先看一下主机後方网路线是否灯号有亮或重新插拔一下...