当前位置: 首页 > 后端技术 > Python

LeetCode26.从有序数组中去除重复

时间:2023-03-26 11:37:38 Python

26.RemoveDuplicatesfromSortedArray题目来源:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array题目给定一个要排序的数组,需要原地删除重复的元素,使每个元素出现只有一次,并在删除后返回数组的新长度。不要使用额外的数组空间,您必须就地修改输入数组并使用O(1)额外空间进行修改。例1:给定数组nums=[1,1,2],函数应该返回新的长度2,将原数组nums的前两个元素修改为1、2,不需要考虑元素在超出新长度的数组中。例2:给定nums=[0,0,1,1,1,2,2,3,3,4],函数应返回新的长度5,修改原数组nums的前五个元素到0,1,2,3,4。您不需要考虑数组中超过新长度的元素。解释:为什么返回值是一个整数,而输出的答案却是一个数组?请注意,输入数组是通过“引用”传递的,这意味着在函数中修改输入数组对调用者是可见的。你可以想象内部操作是这样的:nums是通过“reference”传递的。即不对实参做任何拷贝intlen=removeDuplicates(nums);//函数中输入数组的修改对调用者可见。//根据函数返回的长度,它会打印出该长度内的数组中的所有元素。for(inti=0;iint:length=len(nums)iflength==0:return0#初始化双指针#front在前,tail在后tail=0front=1#遍历数组whilefront