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

LeetCode80.删除有序数组的重复项

 10多分钟的时间就把一道中等题目做出来了,而且我还没有思考,边写边想。我的思路很简单,就是按照题目意思,从前往后遍历数组并统计相同的个数count,然后一直维护一个左指针,把遍历的数移到左指针上然后左指针向右移动,然后根据count的个数分情况处理,如果count小于2就把nums[i]移动到left上,如果count>2不用做任何事情,如果不同count改为1并把nums[i]放入left,最后返回left即可。

class Solution {public int removeDuplicates(int[] nums) {int n = nums.length;int left =1;int count =1;for(int i=1;i<n;i++){if(nums[i]==nums[i-1]){count++;if(count<=2){nums[left++]=nums[i];}}else{count=1;nums[left++]=nums[i];}}return left;}
}

看了一下题解,题解的做法也差不多,他是没有去统计数字的个数,而是直接和上上个保存的元素相比,若相同则不能再保存,若不同则保存。

class Solution {public int removeDuplicates(int[] nums) {int n = nums.length;if (n <= 2) {return n;}int slow = 2, fast = 2;while (fast < n) {if (nums[slow - 2] != nums[fast]) {nums[slow] = nums[fast];++slow;}++fast;}return slow;}
}
http://www.lryc.cn/news/508459.html

相关文章:

  • rk3568制冷项目驱动开发流程汇总(只适用于部分模块CIF DVP等,自用)
  • 费舍尔信息矩阵全面讲述
  • DALFox-一款XSS自动化扫描工具
  • Python 异步协程:从 async/await 到 asyncio 再到 async with
  • 云原生周刊:利用 eBPF 增强 K8s
  • 【pycharm】远程服务器之后如何打开终端
  • 从零创建一个 Django 项目
  • 无人零售 4G 工业无线路由器赋能自助贩卖机高效运营
  • 使用VSCode Debugger 调试 React项目
  • [创业之路-199]:《华为战略管理法-DSTE实战体系》- 3 - 价值转移理论与利润区理论
  • AWTK-WEB 快速入门(2) - JS 应用程序
  • dolphinscheduler服务注册中心源码解析(三)RPC提供者服务整合注册中心注册服务实现源码
  • 电脑不小心删除了msvcr120.dll文件怎么办?“缺失msvcr120.dll文件”要怎么解决?
  • js 深度克隆
  • 深度学习之超分辨率算法——FRCNN
  • 软件测试之压力测试【详解】
  • 电脑出现 0x0000007f 蓝屏问题怎么办,参考以下方法尝试解决
  • 分布式系统架构:限流设计模式
  • G口带宽服务器与1G独享带宽服务器:深度剖析其差异
  • Flamingo:少样本多模态大模型
  • 推荐一款免费且好用的 国产 NAS 系统 ——FnOS
  • 2025系统架构师(一考就过):案例题之一:嵌入式架构、大数据架构、ISA
  • 开机存活脚本
  • 车载网关性能 --- GW ECU报文(message)处理机制的技术解析
  • CosyVoice安装过程详解
  • 传统网络架构与SDN架构对比
  • 如何打造用户友好的维护页面:6个创意提升WordPress网站体验
  • 【hackmyvm】Zday靶机wp
  • redis使用注意哪些事项
  • 步进电机位置速度双环控制实现