LeetCode 26. Remove Duplicates from Sorted Array
2017-07-13 15:48
309 查看
用了两种简便方法完成。个人更prefer第二种,且方法二时间更短。用到的函数:unique,erase。 unique为对nums重排序使其在it位置前无重复元素。 用erase函数删除it位置后的重复函数,再返回nums的大小即为无重复元素的长度。
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
/*
// Method 1
int count=0;
for(int i=1; i<nums.size(); i++)
{
if(nums[i] == nums[i-1]) count++;
else nums[i-count]=nums[i];
}
return nums.size()-count;
*/
// Method 2
auto it = unique(nums.begin(), nums.end());
nums.erase(it, nums.end());
return nums.size();
}
};
注:函数声明auto,编译器可根据该声明推导变量实际的类型,具有简化复杂类型变量声明及避免出错的作用。但不可用其进行类型转换,不能用于模板和函数的声明,使用时必须有初始值。详情可见 http://blog.csdn.net/hushujian/article/details/43196589
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
/*
// Method 1
int count=0;
for(int i=1; i<nums.size(); i++)
{
if(nums[i] == nums[i-1]) count++;
else nums[i-count]=nums[i];
}
return nums.size()-count;
*/
// Method 2
auto it = unique(nums.begin(), nums.end());
nums.erase(it, nums.end());
return nums.size();
}
};
注:函数声明auto,编译器可根据该声明推导变量实际的类型,具有简化复杂类型变量声明及避免出错的作用。但不可用其进行类型转换,不能用于模板和函数的声明,使用时必须有初始值。详情可见 http://blog.csdn.net/hushujian/article/details/43196589
相关文章推荐
- leetcode --26. Remove Duplicates from Sorted Array
- leetcode 26 Remove Duplicates from Sorted Array
- Java [leetcode 26]Remove Duplicates from Sorted Array
- leetcode-26. Remove Duplicates from Sorted Array
- LeetCode-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
- [Leetcode 26, easy] Remove Duplicates from Sorted Array
- [LeetCode-Java]26. Remove Duplicates from Sorted Array
- LeetCode26 Remove Duplicates from Sorted Array(Python字典妙用)
- 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