当前位置: 首页 > article >正文

leetcode_80删除有序数组中的重复项 II

1. 题意

删除有序数组中的重复元素,同一元素不能超过两次。

2. 题解

leetcode26. 删除有序数组中的重复项的升级版本,只需要考虑 n u m s [ l e n − 2 ] ≠ n u m s [ j ] nums[len -2] \ne nums[j] nums[len2]=nums[j]即可, l e n len len是排列好的有序数组长度, j j j遍历完整个数组。

  • 通解 k = 2 k=2 k=2
class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        
        int sz = nums.size();
        int j = 0;
        for (int num: nums) {
            if ( j < 2 || nums[j - 2] != num){
                nums[j] = num;
                j++;
            }
        }

        return j;
    }
};
  • 模拟
class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        int sz = nums.size();
        int i = 0;
        int j = 1;
        int len = 0;
        if (sz <= 2)
            return sz;

        for (int j = 1;j < sz; j++) {
            if (nums[i] != nums[j]) {
                nums[len++] = nums[i];

                if (j == sz - 1) {
                    nums[len++] = nums[j];
                }
                i++;
            }
            else {
                nums[len] = nums[i];
                nums[len + 1] =nums[i];
                len += 2;
                j++;
                while (j < sz && nums[j] == nums[i])
                    j++;
                if (j + 1 < sz) {
                    i = j;
                }
                else if (j < sz) {
                    nums[len++] = nums[j];
                }
            }
        }
       


        return len;
    }
};

http://www.kler.cn/a/539259.html

相关文章:

  • C++20新特性
  • DFS+回溯+剪枝(深度优先搜索)——搜索算法
  • 具身智能学习规划
  • 在请求时打印出实际代理的目标地址
  • 生成式聊天机器人 -- 基于Pytorch + Global Attention + 双向 GRU 实现的SeqToSeq模型 -- 下
  • 迁移学习 Transfer Learning
  • 【算法】快速排序算法的实现:C 和 C++ 版本
  • 信息学奥赛一本通1003
  • 神经网络常见激活函数 6-RReLU函数
  • 每日一题--数组中只出现一次的两个数字
  • Python 入门:文件操作、读写、管理
  • UIAbility 生命周期方法
  • Spring Boot快速开发
  • python migate执行报错
  • 山东大学软件学院人机交互期末复习笔记
  • android的DataBinding的使用
  • 【CubeMX-HAL库】STM32F407—无刷电机闭环控制
  • 【WebSocket探秘】解锁 WebSocket:开启实时交互新境界
  • React 实现自定义进度条(类似于ant design中的progress)
  • Log4j2在Spring项目中的集成与应用
  • 深度求索(DeepSeek)的AI革命:NLP、CV与智能应用的技术跃迁
  • 论文阅读:MGMAE : Motion Guided Masking for Video Masked Autoencoding
  • Deepseek的MLA技术原理介绍
  • C++实现黑白棋小游戏
  • Python和JavaScript在字符串比较上的差异
  • 高性能分布式全局ID生成器-雪花算法实现