美文网首页
LeetCode 26. 删除排序数组中的重复项

LeetCode 26. 删除排序数组中的重复项

作者: 风卷晨沙 | 来源:发表于2019-05-15 11:04 被阅读0次

1.题目

https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/

2.题解

这个题目的空间复杂度是O(1).所以也就是说我们创建的对象数得是一个恒定的常数。而且我们已经明确了要用“原地”转换的方法将多余的部分排除。其实就是将不重复的部分往前移动即可。
那么逻辑就是,使用一个number数来明确当前的位置,从0开始,每移动一次就number++;
再用一个i(i=number+1)来进行i<num.length 的遍历。就可以将整个数组判断清楚;
注意:因为number是数组下标,所以结果数组的个数是number+1;

3.代码

Java

class Solution {
    public int removeDuplicates(int[] nums) {
          int length = nums.length;
        if(length==0)return 0;
        //mian
        int number=0;
        for (int i = number+1; i <length ; i++) {
            if(nums[number]!=nums[i]){
                number++;
                nums[number]=nums[i];
            }
        }
        return number+1;
        
    }
}

4.通过截图

26.png

相关文章

网友评论

      本文标题:LeetCode 26. 删除排序数组中的重复项

      本文链接:https://www.haomeiwen.com/subject/mzwuaqtx.html