00:00
这块呢,这个练习啊,去除数组中重复的数字还是啊做练习的时候呢,诶不用着急,咱们先干嘛呢?先把这东西给它进行一个简单的一个分析啊,进行一个简单的分析,那这里边呢,我来啊,还是咱们画一个图来把这个事儿给他说明一下啊,新建这么一个东西,那我们说了,现在我们有这么一个数组,数组里边我们说有几个元素呢?有这么一个24689个元素,对吧?诶九个元素直接把它呢复制过来,那这个数组呢,其实在我们这里边,我们就用一个这个简单的这个表格来表示,粘过来创建一个表格,插入一个表格,一共是九个对吧?哎,数字里九个元素,第一个呢,是我们这个一,然后二,然后三,然后二,然后一,然后342。五是不是这九个元素啊,对,但是这个数是谁呢?其实无所谓啊,就是咱们考虑这个东西就行了,然后呢,现在我们来嘛呢,咱们要干嘛呢,把这样一个数组里边这些重复的元素给它去除掉,那现在想想咱们就不考虑用程序,咱们自己去,那怎么办呢?怎么办,是一个一个比啊,现在我先干嘛呀,我要比我先把谁呀,先把一取出来。
01:19
哎,咱们这样吧,这是一个一,我这块复制一下啊,表示我们把一取出来,先干嘛呢?先把一取出来,然后干嘛呀,我一个个比比相不相同不相同不相同干嘛,是不是下一个呀,下一个比三相不相同不相同,咔是不是再下一个呀,二相不相同不相同吧,再下一个,一看一相不相同相同,咔把一给它,哎给它删除是不是就OK了呀,然后是不是接着往下比啊,再比425是不是一个比啊一这就比完了,然后呢,是不是在比二啊哎,再比二,把二再拿出来,然后是不是再一个一个比啊诶,那是不是这么一个这么一个思路,哎,一个别别不相同,不管它相同是不是还是给他删了呀,哎,还给删了,这个思路能懂吧?哎,那现在思路有了,那我们先来看这个东西,我们要怎么完成,那首先呢,我们实际上干嘛呀,我实际上就需要先把我数组里边的每一个元素是不是都取出来呀,把一取出来,然后每个。
02:19
素什么和它和它和每个元素比啊,然后把二取出来,是不是和每个元素去比啊,所以我先干嘛呢?先要来第一件事干嘛呢?呃,获取什么呢?获取我们这个数组中的每一个元素啊,获取数组中的每一个元素,直接来个货圈,那获取每个元素我是不是就就变利啊,哎,Y一个这个I等于零,I小于瑞点一个lengths而ind th,然后来一个I加加我们这直接cancel.log一个,这个array一个,哎现在我一保存咱们来看是不是就是是不是几个数都出来了呀,哎123213453425就都出来了,哎好,那现在我们说了这个,呃瑞I是不就代表的是我们那个。
03:09
每一个数啊,取出来以后,我接下来是不是要往下比了呀,还是那个例子,我们说你取出来是一一,我是不是开始往下比呀,大家注意了,我从哪开始比一现在是不是跟这儿来呀,我把这个一取出来了,我这还用不用比了,自己跟自己用不用比了,你这自己要跟自己有比,你删完了是不是都没了呀?哎,我们得从哪开始比啊,从它下一个开始比吧,所以干嘛呢?我要把什么呀,当前元素的从下一个开始数,每个元素都取出来呀,哎,所以那怎么取啊,我来一个什么呀,我是不是还得来一个负循环啊,哎,来一个负循环这儿咱们这个呃瑞哎呢,我先给它留着啊,输出留着,然后呢,我这再写一个负循环干嘛呢?获取什么呀,获取我们这个当前元素后的所有元素吧,后的所有元素,那我这需要再写一个循环,直接Y一个叫做这不能写I了,你写I就重复了,来个什么呀,接等于零接是不是也,咱们先解等于。
04:09
行啊,J小于A瑞点一个Les,然后来个这个J加加是全环写完了呀,大家注意了,我这J写等于零了,那是不是还是从第一个开始啊,我们说了有没有必要从第一开始,如从第一开始不就出事了呀?哎,如果我现在I是零,你就应该从哪开始比,从第一所引为一的开始比啊,如果我A是一啊,I是一,应该从哪开始比?是不是所引为二的开始比啊?如果A是二,是不是应该从所引为三的位置开始比啊?所以应该什么呀?从当前I的那个下一个位置去比吧,所以注意了,我们这个阶的初始值应该是多少,是不是应该是I加一啊?哎,如果I是零,我接就从一开始,如果I是一,我接就从二开始,是这样的呀,哎,这样的啊,然后呢,现在我们就有两个数了,一个是arrai,还有一个是arra,接我们来都把它输出一下cancel.log一个什么呢?A。
05:09
瑞,诶,咱们这里边给它加一个箭头吧,咱们来标识一下,加上一个这个ARRA一个接,现在我一保存,咱们来看,当我这个值是一的时候,我是不是把232134525取出来了,当我值是二的时候,把3213425是不是取出来了,哎一四都给它取出来了,那现在来看,那这回我是不是可以拿这个是ara,哎,这个是A接,我是不是可以拿这两个做比较了,那你像这里边谁就给删了。是不是这个就得删了呀?哎,这个得删了,所以这里边我们需要做一个判断,判断什么呢?是不判断我们这个A瑞I和A瑞阶是否相等吧?哎,所以这块我们来判断我们这个,哎,A瑞这个两个数,两个元素的值是否相等,直接来一个if,我们的a ray I等等于aray解,如果相等则证明什么?如果相等则证明我们出现了什么呀,出现了重复的元素啊,则证明出现了重复的元素,那出现重复的我是不是得删一个呀?那问题来了,有两个,一个是I,还有一个是接我删谁呀?街为什么删街呀?街是后边的吧,诶,前边的我要留着,我要把这个后边是不是给删了呀?你把前边删了咱们是没得比了呀,所以注意啊,一定是删后边。
06:40
是,所以这块如果相等,则证明出现了重复元素,则什么呢?则删除我们这个接啊删除我们这个接对应的元素,怎么删呀,直接来一个array,点一个less从哪开始啊,从接开始删除几个呀,删除一个,这样我们来看,这样这两个循环执行完了,我这个A瑞里边还有没有重复的元素了,哎,没有了,我们这一保存,但是没输出呢,是吧?来输出一下,直接cancel.log一个这个恩瑞我们来看啊来走,你12345还有没有重复的,哎,就没有了啊,就把我们数组里边这个重复元素给它去除干净了,这块看明白了吗?诶,但是这对吗?有没有什么问题啊,一定注意啊,以后也是以后工作的时候也是开发一个功能,不要着急。
07:40
一提交你自己要干嘛呀,要测试一下,首先呢,咱们不能保证咱们写的程序没有bug,但是一定要保证什么呀,没有太弱智的bug,至少你这个bug让别人看上去呢,不是那么的傻啊,不是那么的傻,所以呢,咱们现在这个数组吧,你看着我是随便写的是吧,但是他会有一些什么呀,特殊的问题,那比如说现在我们有没有连续出现两个重复的数字,没有吧,哎,假设我这来一个。
08:09
我这是不是连续出现了两个二啊,哎两个我们这回再看啊,这样一保存走你123245,哎哟去重去重,结果我这二是不是还出现了一个重复的呀,诶这是为啥呢?加了一个二就出现情况了是吧?来那这块我们来看看。什么情况呢?咱们把这个这东西给它改一下啊,给它改一下,现在是二,是不是两个连续的二啊好,咱们从头是不是开始比啊,诶不是从头开始比,是不是从三这开始比啊,哎,从这开始比,你注意了,我这一比,现在上边这个是我的,哎,下边这个数是不我接呀,诶先来瑞I是二,瑞皆是三,两个人一比相不相等,不相等怎么办?是不是向下比呀,现在I是二,然后这个阶是不是这也是二啊,一比相不相等,相等相等,我是不是就要把这个东西给它删了呀,删了以后你注意我现在在这个位置,我把它一删什么情况了,删除一列它,我把它一删,注意它后边是不是有其他元素啊,我把它一删,后边元素干嘛了,是不是自动顶上来了,那注意了,它顶上来以后,我们上边知不知道。
09:33
不知道吧,他干嘛了,他是不是还接着往下比呀,1:2跟四不相等,接着往下比二跟二相等,是不是把他给删了呀,所以这个是不是就跳过去了,这能懂吗?诶咱们现在来啊,再把这东西给它回复过来看一下,现在我们来看现在这是我们这个瑞一个I瑞I这个I现在是几I现在是一对吧接现在是几啊。
10:00
接着是三吧,诶接着3A瑞这个一和这个瑞三一比,俩人干嘛了?相同相同,我是把它给删了,删了以后呢,删了以后来我问你A瑞三变成谁了,是不是还是二啊,诶这个二就变成A瑞三了,但注意了这个位置我们干嘛了,我们是不是已经比过了,比过了他还比不比了,不比了就往下又比了一个,这儿是不是又出现了一个漏网之鱼啊,那这块怎么办呀?怎么解决呀?诶那现在问题是什么?问题是这个位置比过以后,我这一删除,删除以后干嘛呢?这个原这个位置是不是就不比了,那我应该干嘛呀,你把这个位置删了以后,这个位置你是不是应该再比一次呀?因为这个位置是不是已经换成了一个新的元素了,诶那我怎么能让这个位置再比一次呢?哎,那首先我们来看我是怎么向下比的呀,我接一加加是不是就往下比了一个呀?哎,接一加加我们就往下比了一个,那我们这块说一个问题,当什么呢?当删除了,诶当前这个街所在的这个什么呀,元素以后则后边的什么呀,元素会什么呀,会自动是不是自动自动补位呀,哎自动补位此时呢,此时我们将不会再什么呀,再比较这个什么呀,这个元素吧,哎,这个元素,那所以我需要什么呀,哎,我需要。
11:40
哎,需要什么呀,再比较一次我们什么呀,这个阶所在位置的什么呀,元素,所以这个瑞接我是不是应该再重复的比较一次啊,但是行不行啊,不行,为什么不行啊,它是不是又到这是不是就接加加了,是就比到下一个了,那我们说了,我这是不是就应该不让他加加呀,那问题来了,这我不让他加加行不行啊,不行,控制不了他不加,那怎么办呢?诶我在这儿来什么呀?来一个接减检,在这我们来干嘛呢?使接自检,那注意了,我这接自减完了是吧?自检完了是不比比当前这个值是不是少了一个亿啊,然后循环执行完了往上走是不是该走这来了,这又加加我减一个,又加了一个,是不是等于没加没减呀,没加没减,是不是等于又在这个位置又又比了一遍呀,哎,又比了一遍,那这回我们来看效果一保存。
12:40
走,你还有没有冲到了没了啊,这个接减减就是等于把这个位置干嘛了,又比了一遍啊又比了一遍,一定注意这个步骤呢,很关键啊,我看没有就不对了啊没有不对了,但是注意了,这接减减我能不能写到衣服的外边了呀?诶我你写衣服外边变成什么了,哎变成死循环了,里边这我都不敢保存了是吧?这里这循环号码呀,会一直执行啊会一直执行,一定注意为什么呀,你这减减这加加,这减减这加加是不是来回来回去比啊,诶来回来去比啊,所以注意这个一定是写到什么呀,If里边只有我干嘛呀,删除了一个元素以后,我猜干嘛呀,减减,否则我是不是不动它呀,哎,否则我就不动它啊好,这个呢,是我们说的这个数组去虫的这个练习也是比较典型的啊,下去以后好好的去看看啊,再去看看,来我们就来。
我来说两句