[C语言][LeetCode][80]Remove Duplicates from Sorted Array II
2016-12-12 14:22
267 查看
题目
Remove Duplicates from Sorted Array IIFollow up for “Remove Duplicates”:
What if duplicates are allowed at most twice?
For example,
Given sorted array nums = [1,1,1,2,2,3],
Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn’t matter what you leave beyond the new length.
标签
Array、Two Pointers难度
中等分析
题目意思是给定一个排序了的整形数组,返回一个所有数字最多出现两次的数组。解题思路是,遍历数组,用count变量统计新的数组大小,因为最多能出现两次,所以不管遍历数组前面两个是什么数字,都放到新的数组里存储,即nums[count++] = nums[i];然后继续往后遍历,如果当前的数字nums[i]比nums[count-2]大,说明这两个数字不相同,那就把nums[i]所对应的值放到新的数组里存储,直到遍历结束。
C代码实现
int removeDuplicates(int* nums, int numsSize) { int i=0, count=0; for(i=0; i<numsSize; i++) { if(count<2 || nums[i]>nums[count-2]) nums[count++] = nums[i]; } return count; }
相关文章推荐
- LeetCode26/27/80/75 Remove Duplicates from Sorted Array I and II/Remove Element/Set Colors**
- leetcode 80: Remove Duplicates from Sorted Array II
- leetcode-26&80 Remove Duplicates from Sorted Array I&II
- 【LEETCODE】80-Remove Duplicates from Sorted Array II [Python]
- leetcode[80] Remove Duplicates from Sorted Array II
- [leetcode-80]Remove Duplicates from Sorted Array II(C)
- [LeetCode-80] Remove Duplicates from Sorted Array II
- LeetCode(80) Remove Duplicates From Sorted Array II
- 80. Remove Duplicates from Sorted Array II LeetCode
- Leetcode_80_Remove Duplicates from Sorted Array II
- leetcode[80]:Remove Duplicates from Sorted Array II
- [leetcode 80] Remove Duplicates from Sorted Array II
- LeetCode80——Remove Duplicates from Sorted Array II
- leetcode80 Remove Duplicates from Sorted Array II
- LeetCode 80 Remove Duplicates from Sorted Array II
- LeetCode 80:Remove Duplicates from Sorted Array II
- leetcode-80 Remove Duplicates from Sorted Array II
- LeetCode 80 Remove Duplicates from Sorted Array II
- LeetCode(80) Remove Duplicates from Sorted Array II
- 【leetcode c++】80 Remove Duplicates from Sorted Array II