lintcode-100-删除排序数组中的重复数字
2017-07-12 21:13
260 查看
100-删除排序数组中的重复数字
素只出现一次,并且返回新的数组的长度。
不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。
样例
给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。标签
数组 两根指针 脸书思路
将数组分为两段,前一段是已经删除重复元素的数组,后一段是未删除重复元素的数组用下标 i 指向非重数组最大值(即数组最右边的元素),下标 j 指向重复数组中第一个与非重数组中元素不同的元素
将 j 指向的元素值赋给 i+1 指向的元素,即可增大非重数组
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; if(size <= 0) { return 0; } int newSize = 1; while(j<size) { if(nums[i] < nums[j]){ nums[i+1] = nums[j]; i++; j++; newSize++; } else { j++; } } return newSize; } };
相关文章推荐
- [Lintcode] #100 删除排序数组中的重复数字
- LintCode_100_删除排序数组中的重复数字
- python_lintcode_100删除排序数组中的重复数字 _101删除排序数组中的重复数字2
- LintCode(100)删除排序数组中的重复数字
- LintCode_100_删除排序数组中的重复数字
- [LintCode]100.删除排序数组中的重复数字
- 100 删除排序数组中的重复数字
- lintcode-删除排序数组中的重复数字II-101
- lintcode 容易题:Remove Duplicates from Sorted Array II 删除排序数组中的重复数字 II
- 【LintCode 简单】101. 删除排序数组中的重复数字 II
- LintCode-删除排序数组中的重复数字 II
- LintCode(101)删除排序数组中的重复数字 II
- 100. 删除排序数组中的重复数字
- lintcode删除排序数组中的重复数字 II
- 删除排序数组中的重复数字——LintCode
- 【LintCode】删除排序数组中的重复数字
- Lintcode落单的数 删除排序数组中的重复数字 II
- [Lintcode] #101 删除排序数组中的重复数字 II
- LintCode- 删除排序数组中的重复数字
- LintCode【简单】100. 删除排序数组中的重复数字。代码及思路