101-删除排序数组中的重复数字 II

跟进“删除重复数字”:

如果可以允许出现两次重复将如何处理?

样例

标签

数组 两根指针 脸书

思路

参照上一篇博客lintcode-100-删除排序数组中的重复数字,只需加一个标志isSecond,用于表示某个数字是否出现了2次

code

class Solution {
public:
/**
* @param A: a list of integers
* @return : return an integer
*/
int removeDuplicates(vector<int> &nums) {
// write your code here int size = nums.size(), i = 0, j = 1;
bool isSecond = false; if(size <= 0) {
return 0;
}
int newSize = 1;
while(j<size) {
if(nums[i] == nums[j] && !isSecond){
nums[i+1] = nums[j];
i++;
j++;
newSize++;
isSecond = true;
}
else if(nums[i] < nums[j]){
nums[i+1] = nums[j];
i++;
j++;
newSize++;
isSecond = false;
}
else {
j++;
}
} return newSize;
}
};

最新文章

  1. 初探物联网 - 基于Arduino的气象站和View and Data API的结合实例
  2. 可变参数列表与printf()函数的实现
  3. ThreadLocal是什么?保证线程安全
  4. Linux命令:修改文件权限命令chmod、chgrp、chown的区别
  5. MapReduce的模式、算法和用例
  6. Spring之@Configuration配置解析
  7. SQL 数据库 触发器 、事务
  8. 再看.net本质(二)
  9. c 标签
  10. LoadRunner 学习笔记(1)性能测试常见术语
  11. CentOs install oracle instant client
  12. Win10安卓模拟器Visual Studio Emulator for Android使用简介(转)
  13. Android调用第三方应用
  14. 学习笔记(C++Primer)--易错点总结(Chapter2)
  15. java socket解析和发送二进制报文工具(附java和C++转化问题)
  16. dede文章插入分页符不起作用,编辑器中出现分页符,导致文章显示不全
  17. ABP官方文档翻译 6.1.3 异常处理
  18. window7如何配置修改环境变量
  19. mongodb查询语句
  20. [转帖]内置系统账户:Local system/Network service/Local Service 区别

热门文章

  1. Java源码解析——集合框架(三)——Vector
  2. symfony 安装使用(一)
  3. python与mysql的连接过程
  4. ruby Logger日志
  5. 嵌入式框架Zorb Framework搭建二:环形缓冲区的实现
  6. 在amazon linux上安装Jenkins
  7. POJ1426 Find The Multiple 解题报告
  8. 2019年第十届蓝桥杯C/C++程序设计本科B组省赛 E迷宫
  9. 安装sql server
  10. 在WPF中自定义控件(2) UserControl