去除数组中重复的元素

题目描述:
去除一个排好序的数组中重复出现的元素。
例如:1,2,2,3,3,4,5,6,6->1,2,3,4,5,6
实现思想:
首先定义一个基准指针和一个游标指针,基准指针默认为第一个元素,游标指针默认为第二个元素。然后遍历数组,如果基准和游标所对应的数相等,则移动游标,指向下一个元素,如果不相等,则将基准指针对应的下一个元素的值赋值为游标所对应的元素,然后分别将基准指针和游标指针向后移动一位。重复比较,直到游标指针大于数组的长度。最后将基准指针之前的包括基准元素赋值给新的数组。即新的数组就是我们想要的。
【去除数组中重复的元素】直接上代码:

public class GetOffer { public static void main(String[] args) { int arr[] = { 1, 2, 2, 3, 3, 4, 5, 6, 6 }; int[] temp = remove(arr); for (int i = 0; i < temp.length; i++) { System.out.print(temp[i] + ","); } }private static int[] remove(int[] arr) { if (arr.length == 1) { return arr; } int start = 0; int end = 1; while (end < arr.length) { if (arr[start] == arr[end]) { ++end; } else { arr[start + 1] = arr[end]; ++start; ++end; } } int temp[] = new int[start + 1]; for (int i = 0; i < start + 1; i++) { temp[i] = arr[i]; } return temp; } }

    推荐阅读