从排序数组中删除重复项
从排序数组中删除重复项
给定一个有序数组,删除重复内容,使每个元素只出现一次,并返回新的长度。
不要为其他数组分配额外的空间,您必须通过在 o(1)额外的内存中修改输入数组来实现。
例如:nums[]={5 5 5 6 7 7 7 7 9 9 9 9 9} 有4个不同数字
在数值不同时才做处理
5 5 5 6 7 7 7 7 9 9 9 9 9
5 5 5 6 7 7 7 7 9 9 9 9 9
5 5 5 6 7 7 7 7 9 9 9 9 9
一个值记录数组中不同数字的个数,并且用这个值取作为下标覆盖掉原数组中改下标的值
class Solution { //用了一个快慢指针;是一样的就过,不一样的就放进去; public int removeDuplicates(int[] nums) { if(nums == null){ return 0; } int arr=0; for(int i = 0; i < nums.length; i++){ if(nums[i]!= nums[arr]){ arr++; nums[arr] = nums[i]; } } return ++arr; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)