网站出现搜索/网站收录查询工具
题目描述:
给定一个排序好的数组,去掉里面的重复元素,并返回去重后的新数组。
解题思路:
开辟新空间,当后一个元素和前一个不同时,就加入新空间。
开始写的代码是直接开辟一个一样长的空间的数组,然后遍历后加入,这样就导致如果重复的数很多就会浪费空间。所以选择了用list,确定了大小后再变成数组。(目前自己没想到别的好办法)
实现:
private int[] removeDuplicate3(int[] nums){ArrayList<Integer> ret=new ArrayList<>();ret.add(nums[0]);for(int i=1;i<nums.length;i++){if(nums[i]!=nums[i-1]){ret.add(nums[i]);}}int[] temp=new int[ret.size()];int j=0;for(Integer item:ret){temp[j++]=item;}return temp;}