Leetcode Remove Duplicates from Sorted Array II
2014-06-21 17:46
357 查看
Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?
For example,
Given sorted array A =
Your function should return length =
典型的两指针问题
两个指针指向初始位置,一个指针i开始遍历,记录出现相同数的个数
如果遍历的指针i等于其前面的指针index且cnt个数超过两个,则继续移动遍历的指针
如果遍历的指针i等于其前面的指针index且cnt个数恰好为2,则更新index指针
如果遍历的指针不等于其前面的指针index,则出现相同的数,更新index指针,且清零计数器
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].
典型的两指针问题
两个指针指向初始位置,一个指针i开始遍历,记录出现相同数的个数
如果遍历的指针i等于其前面的指针index且cnt个数超过两个,则继续移动遍历的指针
如果遍历的指针i等于其前面的指针index且cnt个数恰好为2,则更新index指针
如果遍历的指针不等于其前面的指针index,则出现相同的数,更新index指针,且清零计数器
#include <iostream> #include <vector> #include <algorithm> using namespace std; int removeDuplicates(int A[], int n){ if(n < 3) return n; int index = 0, cnt = 0; for(int i = 1; i < n; ++ i){ if(A[i] == A[index] && cnt < 2){ A[++index] = A[i]; cnt = 2; }else if(A[i] != A[index]){ A[++index] = A[i]; cnt =0 ; } } return index+1; } int main(){ int A[] = {1,1,1,2,2,3}; cout<<removeDuplicates(A,6)<<endl; }
相关文章推荐
- LeetCode - Remove Duplicates from Sorted Array II
- LeetCode: Remove Duplicates from Sorted Array II [080]
- LeetCode: Remove Duplicates from Sorted Array II
- LeetCode: Remove Duplicates from Sorted Array II
- leetcode解题方案--080--Remove Duplicates from Sorted Array II
- [LeetCode] Remove Duplicates from Sorted Array II
- [leetcode]Remove Duplicates from Sorted Array II
- [LeetCode] Remove Duplicates from Sorted Array II
- Java for LeetCode 080 Remove Duplicates from Sorted Array II
- LeetCode—Remove Duplicates from Sorted Array II
- [LeetCode]Remove Duplicates from Sorted Array II
- 65_leetcode_remove Duplicates from sorted Array II
- [Leetcode] Remove duplicates from sorted array ii 从已排序的数组中删除重复元素
- leetcode80 Remove Duplicates from Sorted Array II
- LeetCode: Remove Duplicates from Sorted Array II
- Remove Duplicates from Sorted Array II - LeetCode
- leetcode-Remove Duplicates from Sorted Array II
- LeetCode Remove Duplicates from Sorted Array II
- Leetcode刷题记—— Remove Duplicates from Sorted Array II(已排序数组移除重复元素2)
- Leetcode | Remove Duplicates from Sorted Array I && II