Remove Duplicates from Sorted Array
来源:互联网 发布:ps制作淘宝详情页尺寸 编辑:程序博客网 时间:2024/06/06 14:13
1 shift
每次发现有前后两个数是一样的就将后面的数全部往前shift一位,然后len 减一。
public class Solution { public int removeDuplicates(int[] nums) { int len = nums.length; for (int i = 1; i < len; i++) { if (nums[i - 1] == nums[i]) { for (int j = i; j < len; j++) { nums[j - 1] = nums[j]; } len--; i--; } } return len; }}
虽然上面的算法可以被Accepted,但是在效率上明显是很低的:O(N^2)。
2 往前排
要注意到这道题有提到,这是一个排序了的数组,而上面的算法完全没有利用这个特性。我们只需将unique的数往前一个个排即可。一个指针记录当前的位置,一个指针去往后遍历需找新的值。
public class Solution { public int removeDuplicates(int[] nums) { if(nums.length == 0){ return 0; } int start = 0; int key = nums[0]; for(int i = 0; i<nums.length; i++){ if(nums[i] != key){ nums[++start] = nums[i]; key = nums[i]; } } return start+1; }}
0 0
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates From Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array
- 百度推送需要的参数
- 数据结构课设 求前缀表达式的值
- 体验了不带摄像头的VR头盔以后,觉得它也只能用来玩玩游戏了
- [动态树分治] BZOJ4012 [HNOI2015]开店
- 三极管
- Remove Duplicates from Sorted Array
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
- 认识Redis
- Swift 数组,字典
- 关于三栏布局中浮动布局div块的先后顺序
- 初学Redis(2)——用Redis作为Mysql数据库的缓存
- unix网络编程 select函数和shutdown函数
- 初学Redis(3)——用Redis作为Mysql数据库的缓存
- android不一样的listView的empty