博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode刷题日记] Remove Duplicates from Sorted Array
阅读量:5832 次
发布时间:2019-06-18

本文共 1116 字,大约阅读时间需要 3 分钟。

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 in place with constant memory.
For example,
Given input array 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
& nums) { if( nums.size() == 0) return 0; vector
::iterator one = nums.begin(); vector
newNums(1,*one); for( vector
::iterator two = nums.begin() + 1; two != nums.end(); ++two){ if( *one != *two ){ one = two; newNums.push_back( *one ); } } nums = newNums; return nums.size(); }};

转载地址:http://zxrdx.baihongyu.com/

你可能感兴趣的文章
浅谈jquery关于select框的取值和赋值
查看>>
动态内存开辟函数
查看>>
centos7的系统 防火墙
查看>>
九九乘法表
查看>>
自己总结的包和过程的笔记
查看>>
sed用法
查看>>
sevlet是单线程还是多线程,在多线程下如何编写安全的servlet程序
查看>>
数据结构(10)_递归
查看>>
压缩及归档工具
查看>>
【安全牛学习笔记】课时94 SQLMAP自动注入-REQUEST和SQLMAP自动注入-OPTIMIZATION
查看>>
聊聊flink的AbstractTtlState
查看>>
路由器配置Telnet
查看>>
CentOS7.3部署Kubernetes1.10集群及相关基础应用
查看>>
keepalived基础知识及高可用LVS模型实现
查看>>
AIX系统使用镜像文件安装中文包
查看>>
Idea创建maven工程卡在Generating project in Batch mode
查看>>
CentOS 7安装配置Samba服务器
查看>>
怎么找回盘符误删的数据
查看>>
Python第八课----面向对象
查看>>
linux之SNAT和DNAT
查看>>