LintCode 删除排序数组中的重复数字
2015-10-03 14:43
239 查看
删除排序数组中的重复数字
给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。
不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。
样例
给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。
code :
给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。
不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。
样例
给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,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 i = 0; if(!nums.size()) return 0; for (int j = 1; j < nums.size(); ++j) { if (nums[j] != nums[i]) { nums[++i] = nums[j]; } } //注意,我们需要返回的是元素的个数 return i+1; } };
相关文章推荐
- 一个Sqrt函数引发的血案
- Log4j官方文档翻译(三、配置)
- 如何查看Linux的磁盘空间还有多少
- 贪心+拓扑排序 AOJ 2456 Usoperanto
- 网站伸缩性架构
- python搭建web应用框架以及一些基本语法
- cocos2dx 消除箱子
- 程序性能分析
- MapIterator和MapEnumerator区别
- Android Material Design Library系列教程(五)
- 基数排序
- iOS 多语言支持,应用程序国际化 xcode4.5
- 关于hibernate空指针异常的几个问题
- USACO 2.3 Controlling Companies (DFS)
- 最容易理解的java数组位移(献给我的第一次博客)
- 关于wxwidgets图形界面的关闭窗口的按钮无效的解决办法
- Fragment详解
- 组合数与错排数求解方法探析
- 条款21:static对象引起的多线程安全性
- C#程序如何实现设置系统WIFI共享