力扣第一题——删除有序数组中的重复项

devtools/2024/9/22 22:58:01/
  1. 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。
  2. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1)额外空间的条件下完成。

示例 1:

输入:nums = [1,1,1,2,2,3]
输出:5, nums = [1,1,2,2,3]
解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3。 不需要考虑数组中超出新长度后面的元素。

示例 2:

输入:nums = [0,0,1,1,1,1,2,3,3]
输出:7, nums = [0,0,1,1,2,3,3]
解释:函数应返回新长度 length = 7, 并且原数组的前七个元素被修改为 0, 0, 1, 1, 2, 3, 3。不需要考虑数组中超出新长度后面的元素

答案:

class Solution {public int removeDuplicates(int[] nums) {int slow = 1;for(int fast=2; fast<nums.length; fast++){ // fast从2开始,因为前两个必定是要的if(nums[fast] == nums[slow] && nums[slow] == nums[slow-1]){ // 出现了第三个重复的continue;}nums[++slow] = nums[fast];}return slow + 1; }
}

http://www.ppmy.cn/devtools/115684.html

相关文章

探索Python轻量级数据库:TinyDB的奇妙之旅

文章目录 探索Python轻量级数据库&#xff1a;TinyDB的奇妙之旅背景&#xff1a;为何选择TinyDB&#xff1f;什么是TinyDB&#xff1f;如何安装TinyDB&#xff1f;简单库函数使用方法场景应用常见Bug及解决方案总结 探索Python轻量级数据库&#xff1a;TinyDB的奇妙之旅 背景&…

高级java每日一道面试题-2024年9月12日-架构篇[DDD领域驱动篇]-如何使用领域驱动设计(DDD)中的事务脚本模式?

如果有遗漏,评论区告诉我进行补充 面试官: 如何使用领域驱动设计&#xff08;DDD&#xff09;中的事务脚本模式&#xff1f; 我回答: 在Java高级面试中&#xff0c;讨论如何使用领域驱动设计&#xff08;DDD&#xff09;中的事务脚本模式是一个很好的话题&#xff0c;因为它…

Java项目实战II基于Java+Spring Boot+MySQL的卓越导师双选系统设计与实现(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、论文参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者 一、前言 在当今高等教育环境中&#xff0c;师生之间的有效沟通与匹配对于促进学生发展、提升教学质量至关重要…

力扣 中等 162.寻找峰值

文章目录 题目介绍解法 题目介绍 解法 定理&#xff1a;如果 i<n−1 且 nums[i]<nums[i1]&#xff0c;那么在下标 [i1,n−1] 中一定存在至少一个峰值。证明 思路分析&#xff1a;利用采用红蓝染色题体法&#xff0c;n为数组的长度&#xff0c;开始左指针L指向数组最左边…

SkyWalking 环境搭建部署

架构简介 skywalking agent : 和业务系统绑定在一起,负责收集各种监控数据skywalking oapservice : 是负责处理监控数据的,比如接受skywalking agent的监控数据,并存储在数据库中;接受skywalking webapp的前端请求,从数据库查询数据,并返回数据给前端。Skywalking oapserv…

Mysql 面试题

1. MySQL 基础 1.1 MySQL、Redis、MongoDB、HBase的区别 MySQL&#xff1a;关系型数据库&#xff0c;一般 web 开发搭配使用&#xff0c;数据存储在磁盘中&#xff0c;读写慢 Redis&#xff1a;非关系型数据库&#xff0c;数据类型&#xff1a;字符串、列表、集合、有序集合、…

51单片机快速入门之按键应用拓展

51单片机快速入门之按键应用拓展 LED的点动控制: 循环检测,当key 为0 时 led 亮 反之为熄灭 while(1){ if(key!1) { led0; }else { led1; } } LED的锁定控制: 当按钮按下,led取反值 while(1) { if(key!1) { led!led; } } LED的4路抢答控制: bz默认为0 !bz 取反值,循环启动…

智慧校园建设解决方案建设系统简介

一、建设背景 1.1 政策背景 1.2 班牌的演变 1.3 建设愿景 二、 智慧班牌简介 三、智慧班牌系统 3.1 系统概述 3.2 软件平台功能交互简介 3.2.1 智慧班牌与管理平台间的功能关联 3.2.2 手机客户端&#xff08;管理员、教师、家长端&#xff09; 3.2.3 手机客户端&#x…