Leetcode No.80 Remove Duplicates from Sorted Array II
来源:互联网 发布:在线大模考的软件 编辑:程序博客网 时间:2024/06/05 17:14
Question:
Follow 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.
C++ Codes:
法一:设一个标志分别代表有1,2,3个重复元素
<pre name="code" class="cpp">class Solution{public: int removeDuplicates(vector<int>& nums) { int flag=1,len=0; for(int i=1;i<nums.size();++i) { if(nums[i]==nums[i-1]&&flag==1)//第二个重复元素,赋进向量 { nums[++len]=nums[i]; flag=2; } else if(nums[i]==nums[i-1]&&flag==2)//第三个重复元素 { flag=3; } else if(nums[i]!=nums[i-1])//新元素,flag置为0 { flag=1; nums[++len]=nums[i]; } } return (nums.size()==0)?len:len+1; //判断是否为空向量 }};
法二:转载自leetcode大神,非常精妙!
<pre name="code" class="cpp">class Solution{public:int removeDuplicates(vector<int>& nums) {int i = 0;for (int n : nums){if (i < 2 || n > nums[i-2])//保留了前两个数{nums[i++] = n;}}return i;}}
</pre><pre name="code" class="cpp">
0 0
- Leetcode NO.80 Remove Duplicates from Sorted Array II
- Leetcode No.80 Remove Duplicates from Sorted Array II
- LeetCode No.80 Remove Duplicates from Sorted Array II
- LeetCode--No.80--Remove Duplicates from Sorted Array II
- LeetCode-Array-80 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
- [Leetcode] 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
- [leetcode]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
- LeetCode:Remove Duplicates from Sorted Array II
- LeetCode | Remove Duplicates from Sorted Array II
- Android Studio 2.2 preview 1 EditText error
- 安卓后台呈现 Toast
- XML(2)通过XmlDocument与XDocument方式写入XML
- WCF实现全双工通信笔记
- 树、森林、二叉树
- Leetcode No.80 Remove Duplicates from Sorted Array II
- hdu1317 XYZZY(spfa最长路判环)
- 有序数组中找中位数
- hdu1869 六度分离(三种基本最短路)
- 自定义View——Path图形与逻辑运算
- 一个都不能少: DevOps的3大核心基础架构
- MFC中如何在指定的区域响应鼠标单击事件?
- SQL -- 八点心得
- Avro总结(RPC/序列化)