LeetCode之Remove Duplicates from Sorted Array
2015-03-12 11:51
375 查看
/*方法一:假定我们用一个新的数组B[]来记录结果,那么B[0]<B[1]<B[2]<......。 因而我们可以采用如下办法吧:用i作为指针扫描数组A[],k作为指针扫描数组B[], 当A[i]!=B[k]时,可获得B的k+1的元素值,即B[k+1]=A[i]。由于k<=i,因此直接 用A数组即可记录结果。 方法参考自:https://github.com/soulmachine/leetcode*/ class Solution { public: int removeDuplicates(int A[], int n) { if(n <= 1) return n; int k(0); for(int i = 0; i < n; ++i){ if(A[k] != A[i]){ A[++k] = A[i]; } } return ++k; } };
/*方法二:直接使用STL中的unique()函数和distance()函数。 unigue()函数去除重复元素,将重复的元素放到数组末尾,并返回指向第一个重复元素的位置。 distance()函数计算两个指针或者迭代器的距离。 方法参考自:https://github.com/soulmachine/leetcode*/ class Solution { public: int removeDuplicates(int A[], int n) { return distance(A, unique(A, A+n)); } };
相关文章推荐
- leetCode26:Remove Duplicates from Sorted Array
- leetcode: (26) Remove Duplicates from Sorted Array
- Leetcode (一)——数组:Remove Duplicates from Sorted Array II
- 【leetcode】26. Remove Duplicates from Sorted Array
- [leetcode:python]26.Remove Duplicates from Sorted Array
- LeetCode --- 26. Remove Duplicates from Sorted Array
- LeetCode 26: Remove Duplicates from Sorted Array
- 【leetcode】Array——Remove Duplicates from Sorted Array II(80)
- 【leetcode 数组】Remove Duplicates from Sorted Array II
- [LeetCode] 26 - Remove Duplicates from Sorted Array
- 【leetcode】【26】Remove Duplicates from Sorted Array
- LeetCode(28)-Remove Duplicates from Sorted Array
- [leetcode-26]Remove Duplicates from Sorted Array(C)
- 【leetcode】【80】Remove Duplicates from Sorted Array II
- leetcode Remove Duplicates from Sorted Array & Remove Element
- 【leetcode 移除有序序列重复数字】Remove Duplicates from Sorted Array(List) I(II)
- [leetcode] Remove Duplicates from Sorted Array II
- LeetCode Remove Duplicates from Sorted Array
- [leetcode 26] Remove Duplicates from Sorted Array
- LeetCode-Remove Duplicates from Sorted Array II