从排序数组中删除重复项
2018-06-17 20:53:40来源:未知 阅读 ()
给定一个有序数组,你需要原地删除其中的重复内容,使每个元素只出现一次,并返回新的长度。
不要另外定义一个数组,您必须通过用 O(1) 额外内存原地修改输入的数组来做到这一点。
个人代码,较为弱智。
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
vector<int>::iterator iter;
int m;
if(nums.size()==0) return 0;
else m=nums[0];
for(iter=++nums.begin();iter!=nums.end();)
{
if(*iter!=m){
m=*iter;
++iter;
}
else{
iter=nums.erase(iter);
}
}
return int(nums.size());
}
};
排名第一代码:
思路很简单,就是遍历数组,不同的元素提前,不会改变数组大小。
class Solution {
public:
int removeDuplicates(vector<int>& nums){
short int endpos = 0;
if (nums.size() == 0) return 0;
for(short int i = 0; i<nums.size(); ++i) {
if(nums[endpos]!=nums[i]){
nums[++endpos] = nums[i];
}
}
return endpos +1;
}
};
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++冒泡排序 (基于函数模板实现) 2020-05-31
- 排序汇总 2020-05-05
- 二叉排序树 2020-05-02
- 纯虚函数与基类指针数组的运用 代码参考 2020-04-30
- STL之deque 2020-04-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash