00:00
好,这个复制反转我们就说完了,下一个操作呢,叫做查找,其实查找呢,也算是算法里边呢,比较重要的一类问题了,就是我们从众多的这些数据当中找一下某个元素在不在,这个其实我们经常做搜索,其实就是这个功能。啊,搜索就是在做查找啊,嗯,那么查找这块的话呢,其实有很多的实现方式,咱们这里呢,就只谈两个比较基本的,还有比较常用的啊最基本的这个呢,叫做线性查找,对,然后呢,用的比较多的呢,叫二分法查找。啊,用的比较多的呢,叫二分法查找,那我们这块呢,来体会一下啊,这是便利啊,这个我们写到后边吧,查找查找呢,或者你也给他可以叫做搜索。啊是一个意思,我们这儿呢,就不加区分的去说这两个概念了,那么在查找里边,我们比较基本的一个操作呢,就叫做线性查找,这个呢也是最好理解的,那就从前往后一个个找呗,找着哪个呢,是是是就停,哎,就这意思行。
01:12
呃,或者这个呢,你像咱们这个侦破一些案件的时候,这种叫地毯式搜索是吧?啊,就从前往后一个一个的这样去给你找啊,哎,说的就像这个线性查找一样好了,比如说呢,咱们还是以这个为例啊,以它为例,我们想找一个字符,呃,找一个字符串,比如找这个BB吧。String,嗯,咱们这个目标啊,DD是吧,嗯,我就先写成它吧,这个我们叫BB。啊呃,Det这样啊,这是一个目标,我想找他,通常呢,我们想查找的话呢,呃,要么呢,你告诉我找没找到,找到了就是出没找到就是false,就是一个布尔型的,或者的话呢,有的时候呢,再明确一点,找到了告诉我在哪没找到,哎告诉我没有。
02:06
啊在哪,对于咱们数组来讲呢,那是你告诉我的索引位置是吧?哎,这样啊,那咱们呢,因为下边这不是反转过,我得把反转这个操作得关掉啊,咱们是拿这个来看的啊,就别反转了,在它的基础之上,我们去找一下BB,咱们叫线性查找。又是for循环,所以这个for循环你想不掌握都很困难是吧,所以代码呢,其实大家想想不就是你第一次见有点陌生,第二次见有点感觉,第三次见很熟了,再见想吐了,有点像两个人的关系一样是吧?刚开始的时候呢,就是很有魅力,互相吸引,然后缺点也看不到,就像那天那个。黄老师给大家讲了一下是吧,刚开始的有一个相识相知,然后这个你会忽略对方的缺点,然后最后的时候,你发现这个缺点暴露出来的时候呢,还能不能接受,如果还能接受,那大家呢就能走下去,如果呢,接受你接受不了了,可能就分了,对不对是吧。
03:11
当然每个人彼此肯定都有缺点啊,嗯,就是嗯,也不要指望着说你遇到这个人,这个人就是你心目中的那个完美的形象啊,如果要真的是的话呢,反正我要是遇到一个,如果你那个人跟你想象那个形象完全一样,其实你会感觉很害怕,怎么会遇到一个这样的人是吧?啊哎,通常的话都不会哈,但是害怕是什么呢?还有一个害怕就是你怕他万一要是个男的怎么办是吧?有的人边讲我说,嗯,之所以你没有同性恋,是因为你还没有遇到你心目中的那个他,嗯,这个有的时候看到这句话我就特别的胆颤是吧,就怕早上一开门的时候,生命中的那个他站在门口是吧?嗯,对,就是两个人的话呢,呃,就是真实的感受,就是啥呢?就是对方肯定有一些他的一些缺点啊,是在你这块你觉得不是特别好的是吧,但是你得接受他这样一种情况啊。
04:11
啊,两个人呢,呃,都朝着这个对方的这个心意的这样一个方向去变化,其实就就是好的,真正你想一步到位上来,他就是很完美的形象,其实不太可能的,通常都是他的那个缺点呢,你这时候没看到是吧,并不是他没有啊。好,嗯,线性查找从头往后呢,去做一个遍历啊,遍历的过程当中,我们去找一下有没有啊说如果呢,我们的det注意啊,嗯,咱们这呢是一个字符串了。这个你要是一个int型的话呢,直接用等等就行,字符串这块呢,咱们讲那个高富帅那个题的时候说过,对,用这个equals啊,比较一下这个内容。给我们AR的I的位置看看是否是equals的,就是equals呢,比的是内容是否相等啊,那么内容如果要是相等呢,就意味着找到了,我们在这就可以输出一下。
05:09
说呢,找到了指定的元素啊,位置为,哎哎,这是我们要找的这个索引位置,哎,你告诉我这个地点就OK了,那一旦要找到以后是不是就不要再往上找了。那我们这就可以加一个break就终止就完了。啊就完了啊,那这呢是我们说已经找到的情况,那要是万一走走走从头走到尾都没找到,都没找到,你是不是就退出循环就跑这了,那这块呢,是不是也最好告诉用户一下,说不好意思没找到得这样是吧,那没找到没找到你要这块说这个很遗憾。没有找到。
06:00
哦,是吧,哎这样啊,没有找到,但你要这样写的话呢,找到了是不是也输出了,那咋整。你又不能在里边写,里边你没便利完,你你肯定不能说没找到,哎这个时候呢,你要想我们前面做的有些问题呢,给你一些思路,就是求那个质数那个题对,我们是不是可以定一个标识是吧?诶我定一个波型的一个叫is flag,诶先让它是一个true,对,然后我们在里边呢去执行,一旦你要找到了,除了告诉我这个之外呢,你把这个意思flag你改一下,就咱们当时举例说那个人身上穿了一个马甲。你把它改一下啊嗯,那出来以后呢,如果发现没改过。说明呢,就是没有进去过这个衣服没有进去过是不是就没找到啊,哎,就这个思路呗。
07:02
诶,所以咱们前面选的那些题,其实我都是精挑细选的,就是好多那些思路呢,你去理解,除了做这道题,你也不用刻意的想很多啊,就是人大脑有个功能,就是你把这个东西做熟以后呢,你做另外一个东西的时候,你不自觉的会去联想之前的一些东西啊,你这个不自觉的其实就是人特有的这个特点了啊,哎,前面你is flag呢,用熟了这块你可能不自觉的就会去想,哎,我应该这样去做啊好这呢,我们就算是写完了啊,保存来测试一下。啊嗯,这个上面呢,应该是没有换行,所以呢,就输出到这儿了啊,在这个位置写个换行。那这是我们找到了啊,这个120123,哎,这个B呢,我就找到了,是在第三个位置,那我们也可以给它改一下啊,DST改成一个CC。
08:03
哎,我们这个数组当中是没有的。这就没有找到啊,很遗憾没有找到啊,或者没有找到德拉这个一般那个港台那块的啊,这样说是吧,对就比较嗲一些哈,嗯,这个网上之前不是有这个这个这个帖子,就说说这个东北人跟这个像这个台湾的这块这个腔调是吧,说东北男的话呢,说如果你要是你的女朋友被别人抢了会怎么办,都没人直接直接上去干他是吧,说要台湾男生呢,就说你想怎样的了是吧,嗯,然后这个这个对方没有回应,就再来一遍是吧,啊这是这个区别哈,嗯,这个女生方面呢,其实也有也有这个区别哈,女生那个,呃,咱们公司呢,有有也有不是台湾的了,但是是这个南方的这个女孩哈,就明显感觉就是南方女孩呢,相对来讲要温柔一些,哎东北呢,就要稍微彪悍一些是吧,这个当时有一个例子就是说。
09:08
呃,咱们有一个同事,一个男生,然后呢,找的那个女孩,那女孩是先是个东北女孩,看他手机壳特别好看,说呃,某某某,我就不说谁了啊,说我要是把你这个手机壳给你抠下来,抠坏了怎么办呢?嗯,那女生直接说你敢给我抠,你扣下你试试,这是东北女孩啊,然后那个还有一个南方的一个女孩,她有同样的,就问那个南方女孩说我要把那个壳给你抠下来,抠坏了怎么办呢?女生特别温柔,说那我就再换一个新的了,是吧,有点受不了了,就确实还是不太一样啊,就看大家喜欢哪种口味了是吧?行,这个呢,是叫现行查找,这个比较简单一些啊。
我来说两句