码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 力扣26:删除有序数组中的重复项


    26. 删除有序数组中的重复项 - 力扣(LeetCode)

    题目:

    给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

    考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:

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

    解题思路:

    1. 原地删除  双引用思想:指针 fir、sec

    2. 步骤解析:

    (1)fir==sec,指向数组首元素

    (2) sec向后移动,如果碰见与fir指向元素不相同的位置,此时fir进行移动。

    这一步骤可以理解为:数组中的[0,fir]区间内存放的是不重复的元素,而sec就是负责去找不重复的元素的。一旦找到,fir就得在区间内为这个元素开辟空间,即fir++;

    无论是否碰见重复元素,sec引用指针是一直往后移动的;

    fir指向的元素就是删除后有效的最后一个元素,最后的有效元素个数就是fir指向的索引+1。

    代码实现:

    1. public int RemoveArrayElements(int[] nums){
    2. int fir=0,sec=0;
    3. //sec移动到元素的末尾,此时fir就指向最后一个不重复的元素
    4. //nums[0,fir]区间均为不重复元素
    5. while(sec
    6. if(nums[fir]!=nums[sec]){
    7. fir+=1;
    8. nums[fir]=nums[sec];
    9. }
    10. sec++;
    11. }
    12. return fir+1;
    13. }

    思考:如果删除所有重复元素,如何进行改进?

  • 相关阅读:
    火山引擎 RTC 音频 AI 降噪的应用与实践
    数字人扫描对虚拟人三维动画宣传片制作有何作用?
    2021年软件测试面试题大全
    OCR 表格识别中的树编辑距离
    Vue3【Provide/Inject】
    【牛客刷题】带你在牛客刷题第四弹(C/C++语言基础)
    nodejs+vue中小学课程辅导系统-计算机毕业设计
    磁盘格式化指南:如何正确对磁盘进行分区和初始化?
    C++ Reference: Standard C++ Library reference: C Library: cstring: strcspn
    java面试100题(应届生必备)
  • 原文地址:https://blog.csdn.net/qq_43475751/article/details/133280936
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号