00:00
两个题,那大家看到我这里呢,有一个历史的集合,这里呢,我故意把这个方法写成那个相减返回,因为相加你从左和右呢,结果都是一样的。我故意写了一个minus,就是NUMBER1减去一个number,现在呢,我们用历史的调了,调了一个reduce left,然后调了一个reduce right,掉了一个reduce这个方法,那么我们现在来看这个结果是什么啊,各位朋友。好的,那现在呢,我新建一个文件叫做呃练习三啊,就就叫做什么呢,叫做我们叫做这个reduce的一个练习reduce。XXERC。CI了。好,给大家做做这个练习题,大家加深一下印象。好,那么我就直接把这个代码扔过来了啊,把这个这个DEF写在里面和写在外面本质是一样的,以前我讲过这个事,那就写到里面吧,当然我们来看看这个流程是什么。
01:05
同学们先静静的思考这个一分钟,待会呢,我找一个同学说出他的答案啊,第一个和第二个一分钟思考。我也歇一口气儿,喝口水。看仔细啊。我找一位同学来说一下,呃,根据你的这个理解呢,这个应该输出一个什么值啊,下面right呢,又输出一个什么值,并且说明为什么好,我随意的抽查一位同学,好,我们再找一位同学,呃,班长就不找了啊,班长每次都找他,显得特别的照顾他,这样特别不好,然后找一个同学叫做苏威鹏同学来回答一下,来小苏。
02:03
负的13这个呢。三好,请坐下啊,他的答案呢是正确的,它的答案是正确的,非常的非常的好啊,嗯,原因我做一个简单解释就完事了啊,它是这样子的,因为你是从左边开始化简,那么相当于第一个动作是这样子的,是一减二。减完过后呢,再跟三相减啊,所以说把这个结果拿到过后呢,再去跟四相减。哎,跟四相减,把这个结果拿到过后呢,再传入这个minus的第一个参数,然后再去跟五相减,最后这个结果等于负的13。正确好,那么下面这个从右化简呢,它的流程是这样子的啊,同学们注意看,是四和五相减相减,减四减去一个五。诶,它是这样子,先运行做完了以后,他把这个结果呢,传出这个MS的右面这个参数。
03:05
啊,那同样,你这边这个山呢,要这样去减,哎,把它包起来。包起来过后又传入下一个第二个参数,然后呢二又去相接没问题,紧接着把这个又作为一个一个值传入给M递归档,然后呢一减它,最后这个结果呢应该是等于三。啊,同学们可以算一下啊,我们算一下这个四减五等于负一,负一,三减去一个负一等于四啊,二减去一个四等于负二,一减去一个负二等于加二等于三,正确好,非常好,那下面这个问题呢。这个问题我告诉大家,我直接不说了,我直接看,看见源代码你们立马就懂了,Radio这个方法我们追进去一看。哦,底层用的就是radio left,所以说radio它这个结果跟radio left完全一样啊,这个我们就不多说了,这边呢,就是说radio底层要的是啊re,等价。
04:02
等价于reduce left,因为我们人正常思维呢,都是从左边开始执行的,所以它也保留了这个radio,然后做了一个包装好这个题我们就评讲到这里,紧接着我们再来做第二一个题,使用化简的方式求出历史的34275最小值。同学们,现在打开这个idea啊,给大家一分钟马上写都写一写,一分钟写出这个代码。写出这个代码非常的简单啊,只要你理解了。一下就出来了,只要你理解了一下就出来了,好,给出一分钟马上就不等了啊,相信大部分同学都已经写出来了,题非常简单,只需要把这个这样写就行了啊,我快速的写一下,就以它为例,那怎么写呢?咱们写一个最小值啊,求出求出最小值。诶,这样子求出。求出最小值。最小值。
05:01
最小值,那大家看我写一个函数DF就mini,然后呢,我接收两个参数,一个是n int类型的。一个。N1。类型。然后呢,N2也是一个int类型,最后呢,你给我返回一个int啊,最后返回一个int类型,好,这是我,然后呢,我这里面只做一只做一个工作就可以了,如果N1啊包起来,如果这个N1它大于N2。对,那么我们就返回N2,对,因为我要返回最小值L时呢,返回N1,那会就写完了。当你这样写完以后呢,我们要求出最小值,其实特别的简单对吧,那直接写一个mini啊,Value等于加上类似。点我们的这一个刚才那个reduce,那这个reduce你是从左呃向右化简还是从右化简,是不是都是一样的,哎,因为你这个返回是一个值嘛,那所以说我们就从左边吧,左边我直接把这个mini放进去,代码就写完了,那么看看这个结果应该是返回一个一就正确了,因为我要最小值一,好同学们请看执行的代码一跑。
06:17
哎,一跑跑起来过后呢,我们发现这个代码完全想的跟我们一样,诶你看这个代码的确是一代码写完了啊,写完了O了,就这么简单。好,这个题呢,我们就讲到这里,把这个题简单的阐述一下,课堂练习的两道题。好,这写一个化简化简。化简的课堂练习。我们做了两个,加深了一下对化简的理解,写到这儿吧。那么这个题呢,也简单,我就直接把这个代码放过来就可以了啊。啊,这个代码,呃,我把这个结构图。诶放到这儿,那把需求给大家也搁过来,这是我们的代码,那么具体来说,这个要求呢,我也写到这儿啊,提提的要求,提的要求A要求。
07:06
要求然后呢,这边是代码啊,给大家做一个简单的注释。这边来一个箭头,这边是来一个箭头。好,提的要求呢,我就直接把这个幻灯片截过来就可以了,省点事啊,同学们。就这段。好,给大家拿到这里来了。提的要求,大家一看就知道是怎么回事,然后呢,针对这个代码大家可以看的很清楚啊,这边是求最小值啊,上面这个是呃,化简的一个结果,好同学们,下面呢,我们截取一段视频。
我来说两句