标签:
Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?
For example,
Given sorted array A = [1,1,1,2,2,3]
,
Your function should return length = 5
, and A is now [1,1,2,2,3]
.
思路:就是记录出现次数和2比。
class Solution { public: int removeDuplicates(int A[], int n) { if (n == 0) return 0; int tmp = A[0], count = 0; int cur = 0; for (int i = 0; i < n; i++) { if (tmp == A[i]) count++; else { for (int j = 0; j < min(count, 2); j++) A[cur++] = tmp; tmp = A[i]; count = 1; } } for (int i = 0; i < min(2, count); i++) A[cur++] = tmp; return cur; } };
LeetCode Remove Duplicates from Sorted Array II
标签:
原文地址:http://blog.csdn.net/u011345136/article/details/44943201