/** * * @param A int整型一维数组 * @param ALen int A数组长度 * @return int整型 */ int removeDuplicates(int* A, int ALen) { // write code here int index = 2; if (ALen <= 2){ return ALen; } for(int i =2;i < ALen ;i++){ if(A[index -2] != A[i]){ A[index] = A[i]; index++; } } return index; } /* 在这个题目中: 1、首先要注意的是题目给定的是一个有序数列,这是一个非常重要的前提,如果不是有序数列,就需要先排序,再运行上述代码。 2、本段代码的基本思路就是,跟第一个元素的值比较,如果不相同,将与第一个元素不同的值赋值到第三个位置(A[2])(有点像冒泡排序的思维)。 */