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

力扣26——删除有序数组中的重复项

目录

1.题目描述:

2.算法分析:

3.代码展示:


1.题目描述:

给你一个 非严格递增排列 的数组 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 = [1,1,2]
输出:2, nums = [1,2,_]
解释:函数应该返回新的长度 2

示例 2:

输入:nums = [0,0,1,1,1,2,2,3,3,4]
输出:5, nums = [0,1,2,3,4]
解释:函数应该返回新的长度 5

2.算法分析:

  1. 初始化指针​​:

    • 使用一个指针 index 来表示当前不重复数组的末尾位置。初始时,index = 1,因为第一个元素(nums[0])肯定是不重复的。
  2. ​遍历数组​​:

    • 从第一个元素开始(i = 0),遍历到倒数第二个元素(i < nums.size() - 1)。
    • 比较当前元素 nums[i] 和下一个元素 nums[i + 1]
      • 如果它们不相等,说明 nums[i + 1] 是一个新的唯一元素,将其放到 nums[index] 的位置,然后 index 自增。
      • 如果它们相等,则跳过,继续检查下一个元素。
  3. ​返回结果​​:

    • 最终 index 的值即为去重后数组的长度。

3.代码展示:

int removeDuplicates(vector<int>& nums) {int index = 1;//开始遍历数组for (int i = 0; i < nums.size()-1; i++) {if (nums[i] != nums[i + 1]) {nums[index] = nums[i + 1];index++;}}return index;
}

26. 删除有序数组中的重复项 - 力扣(LeetCode)https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/

相关文章:

  • 特殊配合力(SCA)作为全基因组关联分析(GWAS)的表型,其生物学意义和应用价值
  • Uniapp Android/IOS 获取手机通讯录
  • MySQL SQL Mode及其说明
  • 4.3【LLaMA-Factory实战】教育大模型:个性化学习路径生成系统全解析
  • 4.2【LLaMA-Factory实战】金融财报分析系统:从数据到部署的全流程实践
  • pandas中的数据聚合函数:`pivot_table` 和 `groupby`有啥不同?
  • R1快开门式压力容器操作考试的实操技能考试有哪些注意事项?
  • 多品种与多时间框架策略跨市场交易的实现
  • 高效处理CR
  • RDD的自定义分区器-案例
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 在线打开Word文件,并用前端对话框实现填空填表
  • 自然语言处理 (NLP) 技术发展:从规则到大型语言模型的演进之路
  • 增强学习(Reinforcement Learning)简介
  • 机械臂柔顺控制:阻抗控制、导纳控制和力位混合控制
  • 户用/工商业/高压系统防逆流装置选型指南‌
  • Docker的基础操作
  • SIGIR 2025端到端生成式推荐ETEGRec
  • vue3源代码装包,启动服务
  • 支付宝 SEO 优化:提升小程序曝光与流量的完整指南
  • Go语言的宕机恢复,如何防止程序奔溃
  • 《2025城市青年旅行消费报告》发布,解码青年出行特征
  • 司法部:民营经济促进法明确禁止违规异地执法、利用行政或者刑事手段违法干预经济纠纷
  • 首家股份行旗下AIC来了,兴银金融资产投资有限公司获批筹建
  • 苏丹宣布与阿联酋断交
  • 默茨在第二轮投票中当选德国总理
  • 上海车展侧记|中国汽车产业的韧性从何而来