67. Remove Duplicates from Sorted Array

来源:互联网 发布:淘宝定时上架什么意思 编辑:程序博客网 时间:2024/06/16 09:37

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.

Do not allocate extra space for another array, you must do this in place with constant memory.

For example,
Given input array nums = [1,1,2],

Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively. It doesn't matter what you leave beyond the new length.

Subscribe to see which companies asked this question

分析:同时保持两个下标,p和q。nums[0...p]中是符合条件的,q为寻找的下一个符合条件的。最后返回的长度为p+1

/** * 去除排序数组中的重复元素,不能额外申请空间。最后返回新数组的长度。 、 * 同时保持两个下标,p和q。nums[0...p]中是符合条件的,q为寻找的下一个符合条件的。 */public int removeDuplicates(int[] nums) {     int len = nums.length;     int p =0;     for(int q =1;q<len;q++){     if(nums[q]!=nums[p]){     nums[++p]=nums[q];     }     }     return p+1;}


0 0
原创粉丝点击