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

devtools/2025/2/11 19:33:50/

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.ppmy.cn/devtools/158011.html

相关文章

SQL入门到精通 理论+实战 -- 在 MySQL 中学习SQL语言

目录 一、环境准备 1、MySQL 8.0 和 Navicat 下载安装 2、准备好的表和数据文件&#xff1a; 二、SQL语言简述 1、数据库基础概念 2、什么是SQL 3、SQL的分类 4、SQL通用语法 三、DDL&#xff08;Data Definition Language&#xff09;&#xff1a;数据定义语言 1、操…

Fastadmin根据链接参数显示不同列表格

前端有不同的角色&#xff0c;我在后台设置了不同的菜单管理账号&#xff0c;如下图&#xff1a; 不同的账号表格中要展示不同的内容&#xff0c;要显示不同的列。 解决办法是在定义表格前获取url中的group_id参数&#xff0c;根据不同参数定义不同的表格。 代码如下&#xf…

51单片机07 串口通信

串口是一种应用十分广泛的通讯接口&#xff0c;串口成本低、容易使用、通信线路简单&#xff0c;可实现两个设备的互相通信。单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信。51单片机内部自带UART&#xff08;Universal Asynchronous Recei…

防御综合实验

需求一 配置vlan [SW2]int g 0/0/2 [SW2-GigabitEthernet0/0/2]port link-type access [SW2-GigabitEthernet0/0/2]port default vlan 10 [SW2-GigabitEthernet0/0/2]int g0/0/3 [SW2-GigabitEthernet0/0/3]port link-type access [SW2-GigabitEthernet0/0/3]port default vl…

打包工具选择:Vite 还是 Webpack

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

设计模式详解(享元模式)

一、引言 设计模式是一种用于解决在特定上下文中经常出现的问题的优秀解决方案。它们为开发人员提供了一种通用的设计语言&#xff0c;有助于创建灵活且可维护的代码。享元设计模式&#xff08;Flyweight Pattern&#xff09;是结构型模式之一&#xff0c;它通过共享对象来减少…

MHTML文件如何在前端页面展示

MHTML文件如何在前端页面展示 需求背景&#xff1a; 目前在给证券公司做项目&#xff0c;但是在使用新系统的过程中&#xff0c;甲方还希望之前之前系统的历史记录可以看到。 最初制定的计划是项目组里面做数据的把原系统页面爬取下来&#xff0c;转成图片&#xff0c;直接给…

安装 Ollama 需要哪些步骤?(windows+mac+linux+二进制+Docker)

安装 Ollama 的步骤根据操作系统不同会有所差异,以下是针对不同操作系统的详细安装指南: Windows 系统 下载安装包:访问 Ollama 官方下载页面,下载适用于 Windows 的安装程序 OllamaSetup.exe。运行安装程序:双击下载的安装包,按照提示完成安装。默认安装路径为 C:\User…