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

小黑独自享受思考心流:80. 删除有序数组中的重复项 II

小黑代码

class Solution:def removeDuplicates(self, nums: List[int]) -> int:# 寻找超过两次的数字pre_ = 10001# 次数t = 1# 数组长度n = len(nums)for i in range(n):if nums[i] == pre_:t += 1if t > 2:nums[i] = 10001else:pre_ = nums[i]t = 1# 开始进行移动for i in range(n):if nums[i]==10001:t = i+1flag = Falsewhile t < n:if nums[t] != 10001:nums[t], nums[i] = nums[i], nums[t]flag = Truebreakt += 1if not flag:return i

在这里插入图片描述

双指针法

class Solution:def removeDuplicates(self, nums: List[int]) -> int:# 数组长度n = len(nums)# 数组小于2直接返回if n <= 2:return n# 定义双指针head = 2tail = 2# 开始迭代while tail < n:# nums[tail]指针所指向的元素与[nums[0]... nums[head-1]]中的元素组成“合法数组”时,纳入到该集合中if nums[tail] != nums[head-2]:nums[head] = nums[tail]head += 1tail += 1return head

在这里插入图片描述

状态逐渐明朗,继续调整心态!

在这里插入图片描述

http://www.xdnf.cn/news/6699.html

相关文章:

  • 雷云4 鼠标滚轮单击失灵解决办法
  • 智慧灌区测控一体化闸门系统综合解决方案
  • 2:OpenCV—加载显示图像
  • 梯度下降算法:原理、实现与可视化分析
  • 谷歌地图代理 | 使用 HTML 和矢量模式 API 更轻松地创建 Web 地图
  • 软件测试—接口测试面试题及jmeter面试题
  • 记参加一次数学建模
  • C++运算符重载练习
  • Android 中使用通知(Kotlin 版)
  • PPT 转高精度 PDF API 接口
  • 【流程控制结构】
  • Vue.js教学第一章: Vue 简介与环境搭建
  • neo4j框架:java安装教程
  • 《项目管理知行合一:知识体系构建与实战应用指南》
  • 十步法基于Vanna打造高效便捷的 SQL 生成与业务洞察工具
  • 消息队列与Kafka基础:从概念到集群部署
  • 文件上传Ⅲ
  • 基于React的高德地图api教程007:椭圆的绘制、编辑和删除
  • 【项目】自主实现HTTP服务器:从Socket到CGI全流程解析
  • C++ --- new与delete
  • upload-labs通关笔记-第8关 文件上传之点绕过
  • visio下载安装教程超详细图文教程(附完整安装包)|visio2024
  • 《解锁数字藏品交易系统的底层密码:区块链架构抉择》
  • HNUST湖南科技大学-安卓Android期中复习
  • WebRTC中的几个Channel
  • 【串流VR手势】Pico 4 Ultra Enterprise 在 SteamVR 企业串流中无法识别手势的问题排查与解决过程(Pico4UE串流手势问题)
  • uni-app 中适配 App 平台
  • UML活动图零基础入门:1 分钟掌握核心逻辑(附实战模板)
  • k8s部署grafana
  • Ai Agent革命:不是流程驱动,而是模型为魂