Leetcode || Remove Duplicates from Sorted Array

来源:互联网 发布:前端解析excel成json 编辑:程序博客网 时间:2024/05/20 05:11

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.

package pack;import java.util.Arrays;class Solution {    public int removeDuplicates(int[] nums) {        if(nums == null || nums.length == 0)             return 0;        if(nums.length == 1)             return 1;        //不是有序的,先用Arrays排序        int j = 1;        int cur = 1; //覆盖的当前索引        for(int i=0; i<nums.length-1; i++) {            if(nums[i+1] != nums[i]) {                j++;                    nums[cur] = nums[i+1]; //采用覆盖的方式                cur++;            }        }        System.out.println(Arrays.toString(Arrays.copyOf(nums, j)));//输出最后数组        return j;    }}public class Mian {    public static void main(String[] args) {        System.out.println(new Solution().removeDuplicates(new int[]{1,1,2,2,3,4,4,4,6}));    }}
0 0
原创粉丝点击