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

 public static int removeDuplicates(int[] nums) {
        int p = 0;
        for(int i=1;i<nums.length;i++){
            if(nums[p]!=nums[i]){
                p++;
                nums[p]=nums[i];
            }
        }
        return p+1;
    }

最后可以获得去重后的数组长度,以及去重后的数组


  public static void main(String[] args) {
    //
    int[] arr = {1,1,2};
    int arrSize = removeDuplicates(arr);
    int[] newArr = new int [arrSize];
    System.arraycopy(arr,0, newArr,0,arrSize );

  }

关注我的公众号SpaceObj 领取idea系列激活码

posted on 2023-05-10 17:52  张伯灵  阅读(18)  评论(0)    收藏  举报