每天一道leetCode

1、从排序数组中删除重复项

 

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

题目解析: O(1) 额外空间是指空间复杂度。空间复杂度(Space Complexity)是对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))。比如直接插入排序时间复杂度是O(n^2),空间复杂度是O(1) 。

解题思路:循环遍历数组,计算不重复的元素个数j,一旦遇到不重复元素则进行替换。返回值为j

另一种解法: 循环遍历数组,计算重复的元素个数j,一旦遇到不重复元素则进行替换。返回值为nums.length-j;

第三种解法:使用splice()。

猜你喜欢

转载自www.cnblogs.com/yixun2019/p/11872806.html