题目:
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。(题目链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/)
题目的要点:1 数组是已经排序过的,2 在原地删重复的元素。3 返回值是数组的 新长度。
提交代码:
class Solution:
def removeDuplicates(self, nums):
next_new=0
for i in range(len(nums)):
if i==0 or nums[i]!=nums[i-1]:
nums[next_new]=nums[i]
next_new+=1
return next_new
几点说明:1 第一个元素不需要判断,因此第一个元素直接放在新的数组中,另外每次比较之后,同一个下标对应的元素可能会发生变化,比如【1,1,2,2,2,3,4】,第0次是【1】,第一次是【1】,第二次是【1,2】,第三次是【1,2】
leetcode刷题-26 删除重复元素
最新推荐文章于 2025-02-14 14:54:14 发布