leetcode question 26:Remove Duplicates from Sorted Array
2018-03-06 19:53
381 查看
问题:
Given a sorted array, remove the duplicates in-place such that each element appear only once and return the new length.Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.Example:Given nums = [1,1,2],
Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively.
It doesn't matter what you leave beyond the new length.
这个问题叫我们对一个已经排好序的数组进行去重操作,判断出不重复的元素有多少个。直接思路就是直接遍历一次,判断其与前一个元素是否是重复就可以了。
代码如下:class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if( nums.size() == 0 ){
return 0;
}
int len = 1;
for( int i = 0 ; i < nums.size() ; i++ ){
if( i == 0 ){
continue;
}
if( nums[i] != nums[i-1] ){
nums[len] = nums[i];
len ++;
}
}
return len;
}
};
这里一开始做的时候出了一个小bug,他是这样显示的:
"Runtime Error Message:reference binding to null pointer of type 'struct value_type'
Last executed input: []
上网查了下,这个意思是说当测试输入是空集时报错,后来看了下发现是自己一开始没有对空集的情况进行讨论,空集时返回的是1.所以出现了错误。
Given a sorted array, remove the duplicates in-place such that each element appear only once and return the new length.Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.Example:Given nums = [1,1,2],
Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively.
It doesn't matter what you leave beyond the new length.
这个问题叫我们对一个已经排好序的数组进行去重操作,判断出不重复的元素有多少个。直接思路就是直接遍历一次,判断其与前一个元素是否是重复就可以了。
代码如下:class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if( nums.size() == 0 ){
return 0;
}
int len = 1;
for( int i = 0 ; i < nums.size() ; i++ ){
if( i == 0 ){
continue;
}
if( nums[i] != nums[i-1] ){
nums[len] = nums[i];
len ++;
}
}
return len;
}
};
这里一开始做的时候出了一个小bug,他是这样显示的:
"Runtime Error Message:reference binding to null pointer of type 'struct value_type'
Last executed input: []
上网查了下,这个意思是说当测试输入是空集时报错,后来看了下发现是自己一开始没有对空集的情况进行讨论,空集时返回的是1.所以出现了错误。
相关文章推荐
- LeetCode - 26. Remove Duplicates from Sorted Array
- 【leetcode】【26】Remove Duplicates from Sorted Array
- let 26 Remove Duplicates from Sorted Array
- [leedcode 26] Remove Duplicates from Sorted Array
- 26. Remove Duplicates from Sorted Array
- [LeetCode-26] Remove Duplicates from Sorted Array(移除数组重复元素)
- 【leetcode】26. Remove Duplicates from Sorted Array
- LeetCode 26. Remove Duplicates from Sorted Array
- leetcode 每日一题 26. Remove Duplicates from Sorted Array
- LeetCode 26 Remove Duplicates from Sorted Array (移除有序数组中重复数字)
- [勇者闯LeetCode] 26. Remove Duplicates from Sorted Array
- LeetCode 26--- Remove Duplicates from Sorted Array
- 26. Remove Duplicates from Sorted Array
- LeetCode 26. Remove Duplicates from Sorted Array
- leetcode 26. Remove Duplicates from Sorted Array
- 26. Remove Duplicates from Sorted Array
- leetcode26:Remove Duplicates from Sorted Array
- [LeetCode] 26. Remove Duplicates from Sorted Array 有序数组中去除重复项
- Easy 7 Remove Duplicates from Sorted Array(26)
- LeetCode26 Remove Duplicates from Sorted Array(Python字典妙用)