Remove Duplicates from Sorted Array II
来源:互联网 发布:js把图片转换成base64 编辑:程序博客网 时间:2024/06/11 12:19
这也是一道去除重复元素的题目
但是允许重复的元素最多为2
在上一道题目的启发下 利用last来记录生成的数组的最后一个元素的下标
curnum为当前扫描的位置的下标
num记录重复的元素的个数
if (nums[checknum] != nums[last])
{
num = 1;
nums[++last] = nums[checknum];
}
if (num == 2)
{
nums[++last] = nums[checknum];
}
千万不要把这两行代码对调
否则在处理1122 这种类型的数据的时候
当checknum=1的时候num=2
当checknum=2的时候本来应该进入if (nums[checknum] != nums[last])
这个判断语句 但是由于此时num还是等于2则而if (nums[checknum] != nums[last]) 判断在num==2之后,程序还是进入了num==2这个判断
会导致错误
#include <vector>using namespace std;class Solution {public: int removeDuplicates(vector<int>& nums) { if (nums.size() == 0) return 0; int last, checknum,num;//last为不重复数组的最后一个值的下标 checknum为当前检查位置的下标 num记录重复的次数 last = checknum =num=0; for (checknum = 0; checknum<nums.size(); checknum++) { if (nums[checknum] == nums[last]) num++; if (nums[checknum] != nums[last]) { num = 1; nums[++last] = nums[checknum]; } if (num == 2) { nums[++last] = nums[checknum]; } } return last + 1; }};
0 0
- LeetCode: Remove Duplicates from Sorted Array II
- [Leetcode] Remove Duplicates from Sorted Array II
- LeetCode: Remove Duplicates from Sorted Array II
- Remove Duplicates from Sorted Array II
- [Leetcode] Remove Duplicates from Sorted Array II
- [LeetCode] Remove Duplicates from Sorted Array II
- Remove Duplicates from Sorted Array II
- [leetcode] Remove Duplicates from Sorted Array II
- Remove Duplicates from Sorted Array II
- Remove duplicates from sorted array II
- Remove Duplicates from Sorted Array II
- [LeetCode]Remove Duplicates from Sorted Array II
- Remove Duplicates from Sorted Array II
- Remove Duplicates from Sorted Array II
- Remove Duplicates from Sorted Array II
- Remove Duplicates from Sorted Array II
- [leetcode]Remove Duplicates from Sorted Array II
- LeetCode-Remove Duplicates from Sorted Array II
- mysql主从复制
- EL表达式杂谈
- GCD实现
- tslib移植笔记(1)
- Android 初探OpenGL ES
- Remove Duplicates from Sorted Array II
- BZOJ-4010 菜肴制作 贪心+堆+(拓扑图拓扑序)
- 代理block(一)
- C#开发:openfiledialog的使用
- 2016十家公司前端面试小记
- C语言实现printf的基本格式输出%d,%c,%p,%s
- Android画图最基本的三个对象(Color,Paint,Canvas)
- PB调用WebService
- 《JAVA编程思想》日志(二)-----一切都是对象