remove duplicates from sorted array
2015-12-30 11:34
302 查看
将有序数组中重复的数字去掉,返回新的数组长度。
乍一看,这道题很简单。想法:从前往后比较,如果两个数字相等,则后一个数字等于它本身的后一个数并且此时len--;最后返回len。但是这样做有一个问题:如果是数组的最后一个与前面的数相等,则此时,会溢出,会取到数组之外的一个数。
所以应该转换思路:考虑两个数不等的情况,并且在同一个数组中,记录下不相等的数字。
如果是一个无序数组中去掉相同的数字,并且空间复杂度为O(1)。。可以使用排序方法(比如快速排序)将数组变成一个有序的,然后按照上面的方法。。(但是这样做也许会超时)
乍一看,这道题很简单。想法:从前往后比较,如果两个数字相等,则后一个数字等于它本身的后一个数并且此时len--;最后返回len。但是这样做有一个问题:如果是数组的最后一个与前面的数相等,则此时,会溢出,会取到数组之外的一个数。
所以应该转换思路:考虑两个数不等的情况,并且在同一个数组中,记录下不相等的数字。
如果是一个无序数组中去掉相同的数字,并且空间复杂度为O(1)。。可以使用排序方法(比如快速排序)将数组变成一个有序的,然后按照上面的方法。。(但是这样做也许会超时)
相关文章推荐
- 验证码无法显示报异常 Could not initialize class sun.awt.X11GraphicsEnvironment
- Android Studio 快捷键(汇总)
- Android 可拖拽的GridView效果实现, 长按可拖拽和item实时交换
- 给新公司做的自动化和持续集成计划
- sikuli运行出现问题:Win32Util.dll: Can't load 32-bit .dll on a AMD 64 bit platform
- cinder /etc/lvm/lvm.conf 注意点
- iOS开发- 蓝牙后台接收数据(BLE4.0)
- 性能分析与调优的原理
- CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
- Andriod(一)--环境搭建
- s5k5e2ya MIPI 摄像头调试
- 后台订单添加weight等栏目
- Cas(03)——Cas Server中各配置文件介绍
- android 启动页面的设置
- 深入分析JavaWeb Item38 -- 监听器(Listener)快速学习
- 文件名浏览器兼容性(解决.net 文件名在IE和FireFox不兼容)
- 队列
- java枚举使用详解
- JavaEE_SSM_Mybatis_generator逆向工程的配置详解
- java实现屏蔽词功能