博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Remove Duplicates from Sorted Array
阅读量:5366 次
发布时间:2019-06-15

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

我的思路:如果一个一个比较的话就是太野蛮的写法了,可以先排序在处理

关于排序函数参看:

(在本题中题目上说了Given a sorted array,人家已经排好序啦``````)

刚开始写的,结果:

1 class Solution { 2 public: 3     int removeDuplicates(int A[], int n) { 4         if(n<=1) 5         { 6             return n; 7         } 8          9         int i,j;10         for(i=0;i

其实这样写也不对,比如

int a[] = {1,1,1};

cout<<removeDuplicates(a,3)<<endl;

为什么一定要从前往后比呀,这样如果有相同的话,每次还要移动大量的元素,可以从后向前比呀,其实差不多的。

为什么每一次比较完成后就急于把所有元素都移动呀,也可以先攒着,这样,

比如说 1,1,2,3,发现相同的,那就把第二个后面那个给放到第二个那个地方去,什么时间结束需要判断一下,过程如下:

1,1,2,3——>1,2,2,3——>1,2,3,3

但是,如果是1,1,1,2,3的话就不行了,是个死循环了。

可以这样:

 

AC,代码如下:

1 class Solution { 2 public: 3     int removeDuplicates(int A[], int n) { 4         if(n<=1) 5         { 6             return n; 7         } 8         int i,j; 9         i=0;10         j=1;11         while(j

 

转载于:https://www.cnblogs.com/crane-practice/p/3582906.html

你可能感兴趣的文章
HDU - 4284 Travel(floyd+状压dp)
查看>>
1027 制作表格
查看>>
Android之Socket通信、List加载更多、Spinner下拉列表
查看>>
面向对象的介绍与特性
查看>>
typing-python用于类型注解的库
查看>>
20189215 2018-2019-2 《密码与安全新技术专题》第13周作业
查看>>
第四周作业
查看>>
一、HTML基础
查看>>
蓝牙进阶之路 (002) - HC-05与HC-06的AT指令的区别(转)
查看>>
mysql的limit经典用法及优化
查看>>
C#后台程序与HTML页面中JS方法互调
查看>>
mysql 同一个表中 字段a 的值赋值到字段b
查看>>
linux系统可执行文件添加环境变量使其跨终端和目录执行
查看>>
antiSMASH数据库:微生物次生代谢物合成基因组簇查询和预测
查看>>
UNICODE与ANSI的区别
查看>>
nginx 配置实例
查看>>
Flutter - 创建底部导航栏
查看>>
ASP.NET MVC 教程-MVC简介
查看>>
SQL Server索引 - 聚集索引、非聚集索引、非聚集唯一索引 <第八篇>
查看>>
转载:详解SAP TPM解决方案在快速消费品行业中的应用
查看>>