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

leetcode27.删除有序数组中的重复项

目录

  • 问题描述
  • 判题标准
  • 示例
    • 提示
  • 具体思路
    • 思路一
    • 思路二
  • 代码实现

问题描述

给你一个非严格递增排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致 。然后返回nums中唯一元素的个数。
考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:

  • 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。
  • 返回 k 。

题目链接:删除有序数组中的重复项

判题标准

  系统会用下面的代码来测试你的题解:

	int[] nums = [...]; // 输入数组int[] expectedNums = [...]; // 长度正确的期望答案int k = removeDuplicates(nums); // 调用assert k == expectedNums.length;for (int i = 0; i < k; i++) {assert nums[i] == expectedNums[i];}

  如果所有断言都通过,那么您的题解将被通过。

示例

在这里插入图片描述
在这里插入图片描述

提示

  1 <= nums.length <= 3 * 1 0 4 10^4 104
   − 1 0 4 -10^4 104 <= nums[i] <= 1 0 4 10^4 104
  nums 已按非严格递增排列

具体思路

思路一

  重新额外开辟一个数组存放修改过的元素。使用src1,src2和dst指针,如果src1与src2所指向的内容相等时,那么就src++,如果当src1与src2不相等时,就将a数组中src1中的内容赋值到tmp数组的dst中,让后dst++,然后将src2赋值给src1,最后src2++。
在这里插入图片描述

思路二

  不需要额外开数组的方法。在一个数组中使用src和dst两个指针,当src和dst不相等时,那么就++dst,然后将数组a中的src的内容赋值到a数组中的dst中,最后在++src,如果当src和dst相等的时候,那么就直接src++。
在这里插入图片描述

代码实现

//思路2
int removeDuplicates(int* nums, int numsSize) {int src = 1, dst = 0;while(src < numsSize){if(nums[src] != nums[dst]){nums[++dst] = nums[src++];}else{src++;}}return dst+1;
}
http://www.lryc.cn/news/530736.html

相关文章:

  • [c语言日寄]越界访问:意外的死循环
  • 【c++11】包装器
  • 信息学奥赛一本通 1422:【例题1】活动安排
  • 数据库、数据仓库、数据湖有什么不同
  • llama.cpp LLM_CHAT_TEMPLATE_DEEPSEEK_3
  • 深度学习的应用场景及常用技术
  • 小程序项目-购物-首页与准备
  • 网件r7000刷回原厂固件合集测评
  • 微信登录模块封装
  • [STM32 - 野火] - - - 固件库学习笔记 - - -十三.高级定时器
  • 后台管理系统通用页面抽离=>高阶组件+配置文件+hooks
  • 8.原型模式(Prototype)
  • Python-基于PyQt5,pdf2docx,pathlib的PDF转Word工具(专业版)
  • 13 尺寸结构模块(size.rs)
  • STM32单片机学习记录(2.2)
  • CSS 样式化表格:从基础到高级技巧
  • 【python】tkinter实现音乐播放器(源码+音频文件)【独一无二】
  • javascript常用函数大全
  • C#属性和字段(访问修饰符)
  • DeepSeek为什么超越了OpenAI?从“存在主义之问”看AI的觉醒
  • langchain基础(二)
  • 数据库安全管理中的权限控制:保护数据资产的关键措施
  • Leetcode598:区间加法 II
  • 【Proteus】NE555纯硬件实现LED呼吸灯效果,附源文件,效果展示
  • SAP HCM insufficient authorization, no.skipped personnel 总结归纳
  • 五. Redis 配置内容(详细配置说明)
  • 4 [危机13小时追踪一场GitHub投毒事件]
  • Shadow DOM举例
  • 力扣动态规划-18【算法学习day.112】
  • 网络基础