链接:https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/
把有序数组中重复的元素删除,并返回删除后的数组长度。
考虑直接插入排序的过程,如果遇见重复的元素,直接抛弃,判断下一个元素。由于数组本身有序,所以,时间复杂的为O(n).
class Solution { public: int removeDuplicates(int A[],int n) { int p1=0,p2=0; if(n==0) return 0; while(p2<n) { if(A[p1]==A[p2]) { p2++; } else if(A[p1]!=A[p2]) { A[++p1]=A[p2++]; } } return p1+1; } };