粉丝427获赞2433

大家好,我是辛巴啊,现在我们来讲一个非常奇怪的一关啊,第十九关啊,也是由我们一个学员来点名要去辛巴去为他解决这个的问题的,但是呢,他又后来告诉我,他已经解决这个问题了,但是辛巴依然做了这一关啊, 这一关奇怪在什么地方呢啊?奇怪在找规律的方法上啊。呃,可能我们有的同学不一定啊,能找到,短期内 啊,辛巴也用了一定的时间来去思考这个问题啊,但是呢,辛巴依然找到这个方法了解决这个问题的方法,但是呢,我想其他的同学可能思路会和辛巴的不一样啊,辛巴只能说,在这一关上,辛巴提供一个解题的思路是什么啊?好回到这个关上啊,我们看到地 图,地图是一个什么样的呢?让我们看到这边是一个数字六啊,哈哈,这边是个数字五,这边是个数字九,这边是数字啊,然后呢,辛巴实在也找不到什么规律,辛巴就用了个最原始的方法,是什么呢 啊?定一个函数,定一个这么一个函数,就是 dv move 啊, dv move, 这么一函数 dv 走, 实际上他干了一件什么事情呢啊?执行加转弯就干了这么一简单的事情,然后就是加了一个参数,加两个参数,一个参数是呢,执行的部署,对吧?另外一个是转弯,是控制我们左转还是右转还是不转 啊?零就是不转,左转就是我们用负一必等于负一,右转是必等于一啊,这么一个还是定, 也就是简化我们一些执行的步骤啊,简化我们执行的步骤啊,用一个函数来替代啊,一个函数四行代码来简化我们重复出现的两行代码啊,所以先把写了个这么一个简单的函数,因为其他的规律的确是不太明显啊。 好啊,先把先告诉这么多啊,先给大家看一下完整的先把这一个代码啊,这个代码是这样子的,然后呢?跑一下 啊,这关是过是没有任何问题的啊,但是怎么过啊,过程是什么样子的?有点问题,哈哈啊,待会信吧,把完整的思路是告诉大家啊,先给大家看结果是什么 啊,也就是涉及到我们这个飞船会啊,怎么走,然后小人会怎么走啊,小人有的时候 的确需要走一些重复的路啊,没有办法啊,没办法。好,那我回来啊,回来,这是一个最终的代码,是这样子的啊,然后呢?新爸爸,新爸写的第一版代码是什么样子?给大家看一下。 第一版代码呢,有四十三行,四十三行啊,稍等一下啊,新爸把这个代码也贴到其他地方去啊,省的新爸待会犯了错,不知道怎么去找原因啊。新爸爸,贴到其他地方去。好,我把第一版代码拿过来 粘贴粘贴一下啊啊,这是新霸气的低板代码啊,低板代码就有这一个函数,下面就是什么,我们把这个每一个啊,用这个函数来走一遍 啊,再喊出来走一遍。好,那我们走一遍看看啊, 依然低板函数,我们走过去没有任何问题,只是我们的代码行数很多啊, 函数就这么一个函数,然后我们就是怎么过来,对吧,怎么回去, 好给大家看啊,我想有了第一个函数,然后按照辛巴这么走, 没有任何问题啊,把这个走完是没有任何问题的,但是呢,我们多了十步,辛巴下面现现在就在想怎么去简化他,简化他。好,先告诉大家辛巴是怎么完成第一步。首先我们第一个这一个函数是干什么的啊?控制第一位啊,前进和一个转弯,对吧?前进 多少步?然后是向左转还是向右转?有这么一个函数啊,还是不转好,我们对于第一个啊,我们是什么?前进多少步?前进七步,然后是什么? 然后是一个右转一个右转,对吧?右转是等于一啊,等于右转,对吧?前进七步,右转,然后是前进三步,不用转,不用转,是零,对吧?然后是倒退三步, 倒退三步,倒退三步,然后,然后再右转。倒退三步,右转是什么?这个朝向了,对吧?倒退三步,右转是这个朝向,然后是什么?前进三步,一二三。前进三步,然后干什么?左转啊,左转就朝向这边,然后再前进三步, 右转,前进三步,右转是什么 啊? 这边啊,是前进三步,对吧?在这边前进三步,左转,对吧?然后前进三步,前进三步,接着是 右转,是右转吗?应该是左转吧。啊,不对,这边是前进三步啊,前进三步是什么 啊?这边是倒退三步啊,这样啊,先把老师看错啊,这边是倒退三步,对吧?倒退三步,是右转,对吧?倒退三步,右转。右转是什么? 右边是朝这个方向,对吧?朝这个方向,然后是前进三步,左转,对吧?左转是这一个,对吧?前进三,左转是这一个,然后左转是这个朝向了,对吧?然后再前进三步,再接左转,好,为什么左转?我们要 保证他退走出来?因为我们飞船要过来接他,对吧?接了他,因为我们要进下一个数字的时候,我们飞船我们一开始想是什么进去的这个朝鲜区的,对吧?我们希望他也是这个朝鲜区,所以我们这个时候退出来,退出来啊,会减少我们的 啊?代码部署,对吧?操作部署。所以我们这个时候依然是前进三步左转啊,然后朝朝这个方向,对吧?然后是退几步?退三加一步,退四步,对吧? 退四步下来。退下来之前我们飞船先要前进一二三三步过来啊,三步过来,所以我们飞船先前进三步过来,对吧?然后呢? dv 退四步,不用转,不对,退四步,不用转,然后是飞船前进两步,带到下一个数字啊, 同样的方法,我们来走五啊,走五这个数字,五,我们是直接前进一步,前进一步是什么 啊?我们是右转,对吧?前进一步,右转。右转是一啊?右转是一。前进一步,右转,然后是前进两步,左转,然后再前进两步,前进两步,左转,然后是前进两步,再左转。前进两步再左转,对吧?到了这边这个时候 不是前进两步左转,对吧?然后前进两步,左转,然后我们再前进两步,右转,对吧?前进两步,右转,然后我们再前进两步,右转, 对吧?然后我们再前进两步,不转,对不对?然后我们再倒退两步,倒退两步,右转, 倒退两步。右转之后就是车子可掏枪,对吧?然后我们再前进两步,前进两步,就和这边一样的了啊?就和这边一样,前进两步,左转,前进两步, 对吧?左转,然后再前进两步,接着左转啊,是不是跟他一样一个 c 字,对吧?前进两步,左转出来,然后是什么? 飞船再过来,对吧?飞船再过来,然后倒退三步回去, 对吧?然后飞船在前进两步,带到前面去啊,带到前面去,对吧?好,我们五也走完了,同样的方法啊,我们大家再再自己实验一下,实验一下,我们把啊,把这个,这个叫什么?呃呃,这个叫 这个。九也走完,九也走完啊,九是什么?这么走?转一圈圈,转个圈圈出来啊,九过来,转个圈圈回来,我们这么走啊,先把告诉大家走的步数啊,这么走,然后是退回来,然后八是怎么走?八是这么走 啊,是这么走,依然是前进一步进去,然后是这么转,转到这边,然后退回来,这样结束啊,这个过程啊,好啊,这个是第一步哦,第一步我干的事情,第一步干的事情是我们啊。 啊,辛巴就是刚刚给大家看的啊,演示的这一段代码这么多,多了十行,下面怎么是怎么去减少我们的代码?首先辛巴看到了这么一个规律, 这边的规律啊,这边的规律,你看走三步 比他多退一步,对吧?多退一步,然后是走两步走一步,对吧?然后呢?这边是走两步,多退一步, 然后是走一步,好,这边是走四步,对吧?多退一步,好,这边有规律。那辛巴在这边就需要多加一个函数,是吧?多加一个什么函数呢 啊?新版是怎么写的?多加了一个这么一个函数,第一个叫 space shipmo 啊,这么一个函数,这个函数有哪些功能呢?哎,就是把这一块, 把这块代码放进来,走多少步啊?啊,首先是没这个的啊,没这个的,首先是 space ship move 啊,第一个字面函数它是 space ship 是走 走,你看我们走 a 部,对吧?然后呢,我们飞船是多退一啊,不能的人是多退一步,对吧?多退一步,负 a 减一就是多退一步啊,零就是不转弯,对吧?我们用我们之前的代码。好,然后石碑是一步固定的走两步, 然后人固定的走一步左转,你看我们是不是这么个规律,从这边开始,对吧?是这么个规律,对吧?好,那我们这边就可以换成什么了 啊?换成这个啊,换成我们的这个函数了,对吧?我们可以用这个函数来替换,第一次是三,对不对?好,这个替换成三,然后我们这边也可以替换, 这边也可以替换。这边是几,这边是二。好,前面都是二,你看的出来啊?看规律,然后这边是四,对不对? 能死?好,替换完了,我发现代码还是嫌多,对吧?还得减,还得减,辛巴又发现规律了。发现什么规律?你看侧边啊,负三,一三三,负一,负一, 我们再看这边啊,负二是不是负二?一二二,负一,负一,看到没有?然后再看这边 啊,这边就是有点区别,有点区别?好,那怎么改啊?先把觉得这边是可以把它融到我们这个里面去的,对吧?可以加到这个里面去啊,有同样的规律,对吧?同样的规律我就可以放到函数里面去吧,对吧?你看这边都是三,对吧?直播第一个是负三,对吧?啊?同样的是这边也是 啊,二,这个第一个是负二,对不对?好,那我们怎么办?我们可以把它挪进来, 给他挪进来,对吧?挪进来,这有三行代码,挪进来之后,那我们这边就是负 a 喽,对不对?这边是 a, 这边是 a, 对吧?我们这三个是一负一负一,对吧?后面的也是一样, 一复一复一没有问题。好,只不过我们这边有一个问题啊,这边是负一,这边是四啊,那怎么办?符号相反对不对?符号相反怎么办?我们多加一个参数,先把想到了啊,用个参数 b, b 等于一的时候,正常怎么做? b 等于负一的时候,这两个是不是要变号?变号不简单嘛,负号它也正好是我让它负一呗,我乘它比,乘一个比,乘一个比,可不可以啊?对吧?我们这 这边是正常的用用 sm 五,这个是什么?正常用一没有问题,对不对?一就是要称一,他是没有编号的,对不对?两没有编号,然后呢?后面的部分你看我把这三个去掉 啊,这边依然是用一,对不对?依然是用一。哦,把这三个去掉,哎,这边就不用一了,这边得用什么?负一对吧?因为那两个数据啊,我们重新调一下, 我这边是四负一,对不对?然后我们这边是负四正一,两个需要变号,那么就需要传负一进去,对不对啊?就需要传负一进去,所以我们这边就是怎么把去掉它,我们要变号,对吧?变号 影响第一行代码啊,那么这边要穿负一。好,这样的话我们整个代码就修改完毕,我们看这边是三十五行了,哈哈,对吧?修改到三十五行了,其实我们这边还可以进行相关的简化的啊,辛巴没有做了,没有继续做了啊,还可以进行简化的,还可以减少代码,但是三十五行在减去两行做事,是不是三十三行 咱们三个人啊,满足我们要求了,对吧?好,我们再跑一遍,我们再跑一遍 啊,这一关啊,解决这个问题的关键的是考虑大家的编程的基础啊,对,规律啊, 找规律,就是我们有时候在图形上找不到规律,但是我们可以从代码上找到规律啊,代码上找到规律,我们就是要啊熟悉我们这个代码上啊,怎么去简化的一个方法,对吧?我们之前其实这些方法都在 其他的关卡当中应用过,应用过,那辛巴呢?啊,是通过这种方式来解决这个关卡的问题的啊,解决这个关卡的问题的,也许呢?呃,大家不一定 和辛巴用同样的方法也可以过关,没有问题啊,但是辛巴只能说提供一种思路给大家去解决这个问题啊,如果大家有什么其他好的方法可以跟辛巴交流。好吧,这一关就讲好了,这里。

大家好,我是辛巴。现在我们看到的是五级训练场的多参数函数训练的第十二个关卡, 这个关卡我们可以看出来啊,啊,我们是需要干什么?绕这么一个图形对吧?这么一个图形啊。然后我们啊首先一来看啊,这个图形可能感觉没什么规律不一样对吧?其实他是有规律的啊,你看啊, 他的规律是什么呢?你看一二三四,然后一二三,然后一二一对吧,一二三,一二一对吧,一二三四, 一二三四一二三一二一啊。也就是说每走过一条线,下一条线是我们剪一步对吧,再下一条,直到剪到一,直到剪到一啊,这边是 是四,就是四三二一,这边是三二一,这边是五四三二一,这边是二一啊。 好规律就是这样啊。那我们绕这个图形怎么绕呢?啊,我们绕这个图形的函数怎么写呢?我们就这么写啊,定一个函数啊,这函数呢,我们现在用的四个参数啊。首先第一个参数就是我们刚刚讲的啊,我们绕的 第一次,我们绕的步数是多少对吧?第一次绕的步数。然后我们一共是啊, 绕几次呢啊?就是需要绕 a, 就是少 h, 比如说四对吧,四一二一二三四对吧,一二三一二三四对吧。好,就和第一次有关系对吧?那么就是绕几次,就是我们 用破破循环对吧?绕几次对吧?每一次是啊,我们如果是第一次进来是四步对吧?我们就绕四次对吧,正好我们是 a。 然后要绕的步数是多少呢?因为我们是步数是递减的对吧? 我们就用 a 减 i, a 减 i 对吧? a 第一次是零吗?对吧? d 减的最后一次正好是一啊, 好,绕完了之后我们要干什么呢?啊,第一次啊,走完了之后我们要干什么?要转一下对吧?右转都是右转啊,都是右转好,我们这边为什么要加一个判断啊,加个判断,判断是什么呢? noxe 等于啊,并且 啊, i 等于 a 减一。 i 等于 a 减一是什么意思啊?嗯, i 等于 a 减一就是最后一次 对吧?最后一次。当 c 等于一,并且是最后一次的时候,非这种情况啊,非这种情况都右转啊,我们排除就是 c 等于一,并且它等于最后一次,最后一次 也就是在最后一次啊。绕最后一次并且 c 等于一的时候,我们排除了啊,让他们不右转。不右转是什么情况?不右转呢啊?是 啊,我们啊,有些情况是不需要右转的啊。你比如我们在这边,我们绕完了之后,我们小人是要上飞船是吧?那么飞船是不是要过来对吧? 飞船都是走啊,走两步啊,先走两步,然后左转,然后走一步过来啊,这边也是的,从这边走两步,然后左转走一步过来。这边也是的,走两步啊,左转 过来啊。来接小人好,小人是怎么了?小人是要倒退的回去。因为我们每次保证小人的朝向都是一样的朝向,都朝着他们是吧?那么最终小人是要倒退的啊,就是就是要这个朝向对吧?啊,对于这种情况,小人是倒退的回去对吧?这种情况也是想倒退的回去。 都是倒退着回去对吧?所以我们嗯,倒退着回去正常。这种情况我们转转转转转到这边,他也是会要一个右转对吧?他直接就倒退回去就行,对吧?最后一次直接倒退。对于这种情况,转转转,他这个朝向,最后一次朝向是朝这个方向。这个时候怎么办 啊?这个时候怎么办?他要倒退。那我是不是要多转一次,对吧?对。这种情况就需要多转一次,对不对?好。然后对于这种情况,嗯。这种情况呢, 转转转,转好。最后一次他转了对吧?最后一次。这个转了有没有意义?不需要转对不对?对,这种情况他就是最后一次不需要转。 而且他就直接可以倒倒退回去,对吧?倒退两步回去。所以这种情况是呢,他要多转一点。这种情况呢,转完了之后直接倒退回去,对不对?而这种情况,后面就直接不用考虑了,走到这边就直接结束了,对吧?所以我们有几种情况要判断一下啊。所以我们会多了几个参数啊,多了 bcd 的几个参数。 b 参数是干什么的?我告诉大家啊。嗯, b 参数啊。 b 参数是控制什么呢?控制我们啊。比如最后一种情况,等于三。 这种情况,让必点一散,你就不干什么,飞船不用走了,对吧?我们小人走到这边已经结束了,也不用转来转去了,对吧?也不用退回飞船了。所以逼 让他等于三的时候,把这些都排除对吧?不,等于三的时候,那我们就要才做这些事情,对不对?好。然后还有一个什么呢? 这是一个 b。 这个用处啊。嗯,还有什么用处啊?还看你看这个。 b 还有个用处是吧? b 要不要? 这个时候要不要右转?你看飞船走完之后要不要多转一次的问题,我们刚刚讲了,对,这种情况我们直接转下来就行了。对,对,这种情况他是这个朝向对吧?啊,这个走完了之后,这个情况走完之后,他是这个朝向,这个时候他就需要多转一次, 多转一次。我们这个时候就是用 b 等于,然后多转一次,多右转一次,然后才能到最小对吧? b 等于一的情况下多转,然后 b 等于三的情况下,我们是让他们干什么?让他 排除最后一种情况,这些就不需要做了,这些事情就不用做了,对吧?好,我们 b 的作用是这样, c 的作用是什么? c 的作用是什么啊?我们 c 的作用就是排除什么 这种情况,这种情况不需要他最后一次,不需要他转对吧?不需要他转,那我们就是排除这种情况,用 c 等于一啊,排除 c 不等于一的时候,我们就是正常的啊, 正常转,正常转对吧?好,嗯, c 的作用。第一作用是什么啊?嗯,第一个作用,第一个作用是我们。你看,这个是走两步下来,这边是直接走一步下来,这边也是走一步下来对吧?第一个作用是走的步数啊,退的步数。嗯, 好,这个就是我们四个参数作用啊。我们看啊,再回到这个函数,再解读一下啊,破循环 对吧?会循环多少次?循环 a 次对不对?然后都是要走啊,每一次都是走, a 减 i 对吧? a 减 a。 好。然后呢?这边要排除一种情况,看这是什么情况, c 等于一的时候啊,就这种情况不需要啊,这个时候不需要他,在 最后一步我走完了之后,不需要他转,我直接就可以退回去了对吧?用的 c 点一啊, cd 参数。干爹,并且是最后一次啊,并且是在 i 等于 a 减一的时候把它排除掉了对吧?好, 这局。这局代码是这这种啊。然后这局代码是 最具代码的。作用是什么?最具代码的作用是排除最后一种情况,最后情况上来走吧 就行了是吧?飞船也不需要动,人也不需要动。嗯,好啊。 b 的作用是一个,作用是这个啊。好,后面这个飞船走两步,然后左转走一步啊,是过来接我们小人的对吧?我们小人 要怎么去接?我们这边又加了一个代码啊。判断一下啊。这种情况下, b 点一的情况下是需要多转一次的对吧? b 点一情况就是这种情况对吧?我们转完了之后是正常情况下是朝这个方向对吧?但是我们要退回来,需要多转一次 啊。加了一个 b 点一啊, b 点情况下多多转一次。然后呢?然后小人要退回来是吧?退多少步呢?前面这两种情况都是只要退一步就行。嗯,这种情况需要退两步对吧? 所以我们多讲一个参数。第一啊,第一十四个做好第一次我们直接调的函数对吧?是四对吧?是四。第一个是四,第一个参数是四,第二个参数是零。嗯,零代表什么?嗯, 您代表正常啊,正常他转对吧?正常他转。然后呢?只要他不等于一啊。不等于一和不等于三。这两种情况单独考虑 好。正常就是四零零一对吧。最后一个参数是一啊,第三个参数是零。零就是不管不等于一嘛,对吧?只要他不等一就行。嗯嗯。 c 只有啊一和其他数的区别啊,你就可以放其他数啊,所以我们这边用一个零啊来表示。好。飞船我们到这边了,接到小人了。下面这是什么?我们啊, 这一个制度走完了。下面是我们要干什么?钓完第一个函数之后,我们这个小人啊,在这边对吧?这个朝向。飞船也在这边对吧?是这个朝向啊,是这个朝向。那我们飞船到下一个地,下一个地点这边来对吧?我们需要掉头,掉头,然后过来走两步,然后再左转 对吧?走两步,三步对吧?走三步好。那么飞船掉头啊,同一方向转两次,走两步,左转,然后再走三步,好,到这个地方,这个朝向。想到这个朝向,我们就可以直接掉掉这个函数了,对吧?掉这个函数了。 第二种情况,我们是 a 等于三对吧?一二三对吧。 b b 要等于一。为什么 b 等于一?我们这个时候他多转一次对吧? 只有 b 点一的时候他才会多转一次对吧?好, b 点一。 c 点一零是什么?好,我们最后一次让他正常转对吧? c 点一就是最后一次,他正常绕完之后正常转,然后再多转一次,再下最后是 第一点一。第一点一就是退一步回来,退一步回来对吧?退一步回来。好好调完这函数,飞船在这个方向,在这个位置朝这个床上对吧?小安在 这方这个位置,然后这个朝上,然后我们这个时候飞船直接右转一下,走两步到下一个路口对吧?飞船右转,走两步到下一个路口,直接掉这个函数啊。下面是 这还是怎么调?走五步对吧?走五步没问题,然后正常走完,正常走完。 b 等于零是什么意思? b 等于零。最后一次啊,他不需要多转一次。这一条不需要多转一次是吧? b 点零这句话就不起作用对吧? b 点零这句话不起作用,他就不需要转对吧?最后一次不需要的。不仅不需要转。我 c 还等于一。 c 还等于什么意思啊? c 等于一。最后一步。 最后一步他也不转对吧?转完之后他就直接这个朝向对吧?他也不转了,而且他也不多转一步对吧?直接就这个朝向,这个时候他需要退两步回来对吧?所以就退两步好。第一点啊好。 最后出来的时候,函数结束的时候,飞船在这个方这个位置对吧?这个朝下。小然在这个位置也是这个朝下。这个时候我们到这边来怎么办啊?飞船也是跟啊,这边一样的,这边到这边一样的。原地掉头走两步,然后 左转走一二三四走四步啊,稍微有点区别就是走四步啊,你看我们代码都是一样的对吧?但是最会的走四步对吧?好。然后就是掉最后一个函数啊,最后一个。嗯,最后函数走两步对吧? 啊,然后一定要这边让 b 点一三, b 点一三的时候要加个控制对吧?我们后面根本都不直行,即使后面两个数字已经没有意义了啊。 c 点一也好啊, c 点一就是我们这个最后一个也不转了对吧?啊,零零代表是什么? 不退了对吧?不退。好。所以我们最后一个是这么一遍啊,这么掉的好,我们跑一下看看啊。嗯, 回家看看。然后我们会发现什么呢?我们代码的行数啊,偏多啊,代码的行数偏多, 我们需要修改一下啊。怎么修改?就是刚刚刚刚讲的啊,我们拷贝了一块代码啊,拷贝一个代码有一块代码呢,是完全一样的。但是呢啊,多三行代码对吧?但是呢, 有一点区别。你看只有这款有点区别。这边跟这边是一样的是吧?然后就是多了一个四对吧。我们这款完全是可以用复活循环的啊。这复活循环怎么写? 看新版怎么写啊。两次破循环对吧?好,我们把这块都放进来对吧?破循环嘛对吧。都要放进来。然后下一次就直接到这边来。那这块就删掉了对吧?这块删掉好。 但是呢,我们这边有个变化对吧?增加 i。 因为第二次他是走四步对吧?第二次走四步。 好,这块没问题这块有问题。下面这块第二次是没有的对不对?第二次是这个对不对?这块是没有的。那我们这边就加个判断。第一步 哎,等于等于零执行下面这一块对不对?第二次就不执行这块好,就这么处理一下对吧?好,我们再看一下啊。你干的行数必须减少了啊。 我们再测一下减少多少行了。应该是多减少一行还是正好啊。加了两行代码去了五行啊正好。嗯,减少三行正好减少三行 好。你看我们步数非常少对吧?而且电脑行授符合要求啊。请把这一关使用这种方法来解决问题的啊。不知道大家有有什么其他的方法啊。嗯,如果大家还有什么其他的好方法,可以在视频后方给辛巴留言,感谢大家!

大家好,我是辛巴,呃,有位学员啊,提出来第十六关啊,有点问题,哈哈,过不去,然后呢?十六关辛巴是做过的啊, 这边就直接大家可以看到这个代码了,我先跑一遍给大家看啊,然后大家,呃,再看一下辛巴的思路啊,再告诉一下大家辛巴的思路是怎么样去解决这个问题的啊? 其实这个也是识别规律的一个啊,关卡啊,这个规律呢啊,其实并不难那么去识别啊,并不难那么去识别啊,看我们怎么去找到一些关键的特征啊,关键的特征去帮我们去解决这个问题啊, 好啊,这一关啊,就是这么过的啊,然后呢啊用到了一个函数啊,一个函数,这个函数呢啊,参数比较多啊,一二三四五六个参数 到六个参数啊,好,然后我们数最重要的是什么啊?新麦克告诉大家规律是什么?识别规律,呃,你们看啊,我们我不知道大家能不能看到规律啊,我们识别自动关卡的规律一定要看什么关键的,看非版, 看飞板啊,你看这个飞板是这个朝向的,对吧?他肯定是补这个空缺的,这个飞板这个朝穴,这个朝向他一定是补这个空缺的这个飞板这个朝向他一定是补这个空缺的,而这个飞板朝朝补这个空缺, 那说明什么?这边四个废版啊,说明了四个有四个规律,哈哈哈,就四个同样的规律啊,四个什么同样的规律,我们再看他不空缺。这是一个什么 门字型,看到没有?是个门字型,然后这边是对应的是什么?一串一串我们的这个门字型的,这个未封闭的这个区域是一串我们的啊, 飞船需要走的,小人从这个门之前上去,从这个门之前出来,飞船从这边过去,对不对?正好带他拿出来的这边,你刚刚在看这个门之前是不是这样?飞船过来,对吧?小人从这边上去啊,飞船再过来带他拿,对不对?然后这边一个门字型,这边也是个门字型,小人过来, 对吧?非常带他走啊,这边依然可以看出一个门字型,只不过这个门字型 只有一个,对吧?只有一,长度是一,对不对?长度是一,所以依然是个门字型,好找到这个门字型,那我们这个规律好找啊,找找。 那么就是这个门字型有哪些变化的点?第一个是什么?我们小人是需要是飞船先把小人走几步,走两步,带到这个门字型上,让他上上上这个 门子框,对吧?上层门子框好小。飞船先走两步啊,先走两步,带他走这边来,然后小啊姐姐的是飞板, 飞板要过来,对吧?飞板就需要用两个参数来控制,第一个是飞板的编号是什么?第二个是飞板要前进多少步,两个参数对吧?因为我们这边都不一样,都不一样,而且他的也没有这个顺序的规定,你看是一。我们这啊,我们一般是这么走啊,我们先走 这个门之前,出来之后,接着走这个门之前,接着走这个门之前,对吧?然后最后走这个门之前,啊,是这么个规律啊,按顺时针这个方向怎么绕出来啊?然后 我们看第一个飞板一,第二个飞板三二零,没有规律,所以我们用两个三数来控制他啊,他们步数 是没有规律的,对吧?这边是一二三四,这边是一二三,这边是一二,这边又是一二,对吧?所以它缺少规律,那我们就用两个参数,对吧?啊?那我们就是用 a 代表是背板编号, b 代表是背板需要前进的步数,好用掉的两个参数啊, c, step, c 是我们这个门字型的,这个长一二三四啊,一二三四长,门字型的长,你看我们这边是门字型的长,对不对?是四,看到没有?是四,然后呢?宽,一二三,好 宽, f 是宽,哈哈哈, f 是宽是蛋白,对吧? f 是宽啊,我们记住 f 是宽,别搞错了。然后呢? 长宽,我们这两个是干什么用的啊?滴,你看我们是飞船 step 滴,站这边一二三, 对吧?一二三,走到这边是逮捕的,实际上我们飞船这个的是跟我们的一样的,你看这边三三五五六六九九,对吧?是一样的,跟我们这个宽是一样的, 所以我们这边实际上可以扫一下,扫一个参数啊,我不知道大家有没有发现啊?星巴克发现才才发现啊。这边 f 可以去掉, f 给去掉, f 直接用 d 啊, f 直接用 d, 所以我们 f 直接可以去掉。扫一个参数啊,扫个参数,扫个参数直接用 d 啊,就是 d, 对吧? d, 好。然后呢?我们这个时候左转啊, 送门字型都是他一个方向,你看到没有?进去都是左转,对吧?这边也是都是左转,这边进去也是左转啊,这边进去当然也是个左转,只不过他们这个长度是个零啊,是个零,是个一,不是零啊,是个一,然后左转,然后再走飞船走第一步,对吧?然后飞船啊,这边就是走 c 步, c 步回到我们飞船上,对不对?回到飞船上,然后飞船带他们再走一步啊?我们这边就是非常到这边,是吧?连接下一个再走一步啊?就是跟连接下一个,下一个正好也是走两步过来,对吧?所以连接下一个 右转,连接下一个右转,你看我们这边是连接下一个,也是右转,对吧?连接下一个也是右转,所以我们从第一个门框和到第二个门框之间的啊?过度的这个啊,这个, 这个非常带我们过度这个步数,我们用一个参数一来控制啊,这个是一控制,最后我们小人需要一个什么转?左转,你看我们这个时候下去是这个朝向,对吧?然后我们需要这个朝向, 这个朝向,对吧?我们下去是这个朝向,那么需要这个朝向,对吧?我们过来之后要这样,那么是不是要有个 左转,有左转操作,对吧?左转操作,同样啊,这边也是同样的规律,也是都是左转,所以这边不需要加参数,不需要在参数控制,他是怎么转啊?我们这边出来是这个朝向,对吧?是这个朝向,是这个朝向,所以我们也是一个左转,这边出来是这个朝向,对吧?这个朝向 啊?然后我们是从哪边上去?我们是从这边上去,对吧?啊?是这个朝向,对吧?也是一个左转上去 一步啊,所以这边是一步啊,所以啊,最后呢?我们是飞船是从这边下来一步下来,对吧?然后飞船需要走一步, 非常需要走一步去拿到最后一个能量,所以最后也是个一啊,所以最后是一,好给大家这么举。解释完了啊,我们每一个参数是怎么控制的,然后我们是怎么一个规律,我想这个代码就不难写了啊,不难写了,然后,呃,最后是什么?别忘记我们是调这个函数,对吧? 啊?这边是每一个参数是干什么用的啊?先把一看到啊,先,刚刚先把修改一下,然后咱们再跑一下看看啊。啊,没问题啊,没有问题,少一个参数是没有问题的 啊,辛巴一开始做的时候可能,呃,没没没看到这个规律啊,没有看到这个规律,多用点参数哎,但是也没问题,也是能走,走完这个,所有的这个,呃,收集到 所有的这个能量的啊,做完所有的这个,呃,路径的啊,没问题啊,没有问题。好啊,这一关呢,你看我们部署和我们的行事正好符合要求啊,说明我们正好是他要求就是这个方法,就是这个方法啊,这一关不复杂啊,希望大家啊能识别到规律啊,学会识别这规律 啊,好好,再去看看辛巴的视频是怎么去识别规律的啊,找一些特征啊,也找一些关键的部件。好,这一关讲到这里。

大家好,我是辛巴。现在我们进入的是五级训练场的多参数函数训练的第十五个关卡 啊,这个关卡呢,你们发现和上一个关卡第十四个关卡有点像,第十四个关卡是走一个枪字形对吧?这边也都是也是一个枪字形对吧?好,呃,我们来看啊,我们是怎么走这个枪字形的啊。辛巴也是已经提前的把这一关啊 做过了啊。嗯,目的是呢啊,减少大家在啊这个视频上啊,看大星巴怎么去解题的,这个完整的步骤的一个时间啊。 嗯,因为越到了后面啊,这些关卡相对来说啊,是有一定难度的啊,不是简简单单几分钟就能把它做出来,可能辛巴呢啊,也要花个十几分钟时间呢,把它做出来。所以呢 啊,十几分钟对于大家来说做一个视频有点长啊,所以先把这体重做好,然后把这个视频做的更加的连贯一点,让大家看起来更加的舒适一点。 好啊,这一观看呢,走枪就行对吧。我们先看啊,怎么走,先前进一二三四四步对吧,那么是并在这个长度, 然后是这个长度对吧?好,分分别是 a 和 b, 是这么一个长度,前进一二三四对吧,然后是右转对吧,然后是前进 b 步两步,然后 倒退回来啊,倒退回来,然后啊,再倒退回来对吧,倒退回来啊, a b 对吧?是坑 left 啊。然后呢,我们飞船是前进一二三四五啊,到下一个啊, 路口可以前进一步啊,前进一步啊,这个时候呢啊,这个为什么把它放到这个里面去啊,因为星爸在后面在做的时候,一开始也是没放进去,因为是主路径对吧,我们把之路径啊放到函数里面去,一般是这么做。但是呢,星爸发现啊,啊,每一个之路径后面都跟着一个 非常前进的啊,这么一个操作,就先把这掌上了。第三个参数啊,把自己的代码移了进来,移了进来后面我们就代码就变少了啊,就减少了,所以这块啊,你呢是直接加了一个参数啊,把飞船移动的步数来放进好。 第一个我们是前进啊,四步,然后是两步,然后我们飞船是前进五步,好过来之后紧接着第二个,第二个之后我们飞船,我们小人啊,朝向雷变对吧,还是这个方向也是这个方, 你们是想的是退出来的啊,所以我们是前进六步,然后前进两步,然后他退回来对吧,然后非常前进一步,到这边 啊,这个时候非常啊,到下一个路口需要额外的操作。需要什么操作呢?需要一个右转对吧?右转之后前进两步对吧?前进两步,然后小人的朝向是这个朝向的对吧?是这个朝向的,但是呢,我们现在要朝这个方向,所以我们需要一个 右转啊,小然学会右转,右转之后,小然是上去三步对吧?上去三步之后,我们是右转哦,对吧,右转是朝这个场,所以我们这个时候是倒退三步,用负三对吧?倒退三步,然后呢,他会啊再返回来,再返回来,好,返回来之后, 返回来之后,我们的朝向是还是依然是这个朝向啊,依然是朝向,我们非常需 向前一二三四五五步对吧,所以这边是五步之后我们飞船就可以进行一个啊,右转,右转,右转,朝这个方向啊,朝这个方向未来到下一个路口去,朝这边来啊。 好。嗯,这个时候我们是前进一、二、三、四、五对吧?我们小人的朝向依然是这个朝向的,前进五步,然后是两步,然后倒背回来对吧?非常走的五步,一、二三、四、五这边对吧? 这个时候啊,我们小人啊,是什么朝向?嗯,小人是这个朝向对吧?这个时候我们需要一个右脚来朝向这边对吧?朝向这边,所以我们这边 小人来了个右转,然后是二。然后呢,你们发现啊,这个时候小人在这个里面是什么?右转是吧,右转的时候 吵架是这个吵架,那我们这个里面就需要倒退过去对吧?倒退过去,然后啊,最后飞船就不需要走了,有零代表,有零代表, 所以我们整个这个啊,过程是这样的啊,之路是一二,再加上他回来,然后再飞船前面的步数对吧?这是一个之路,然后主路呢,就是主路,就是我们啊,飞船走的其他的步数啊,串联起来啊。好,我们整个过程就是过程了,再跑一下给大家看看啊。 啊,代码给大家分析完了啊,解读完了啊,过程当中呢啊,其实大家主要去了解一下啊,嗯,有的时候要根据啊,没走到一个啊,支路口,我们小人是参数是用正数还是负数 对吧?因为我们转向已经定了,方向也定了,那我们就看我们是怎么走啊。所以有的时候我们参数有可能是复数,是倒推的进去。其实我们用到的函数里面的代码依然是一样的 啊,这块大家啊,要啊,习惯用复数啊,不要呃,老是习惯用正数,不习惯用复数啊。复数有的时候可以减少我们的代码的函数的啊,减少我们呃,减降,降低我们代码的复杂度啊。 好,本官我们就讲到这里啊,如果大家还有什么不懂的地方,请在视频后方给新版留言,感谢大家!

大家好,我是新霸,现在我们进的是五级训练场的多参数函数训练的第十四个关卡, 这个关卡呢,辛巴已经事先做好了啊,主要是给大家讲解一下辛巴是怎么那个解题的思路啊。 啊?看到地图里面啊,见到地图我们会看到我们,嗯,小人需要走的路线啊,是一种这种像手枪一样的这种啊,这种路线,对吧?啊?然后通过我们的飞船来把他们连接起来,通过飞船把它连接起来, 嗯,这种手枪型的路线呢,我们可以就通过定义函数的方式来把它写出来,对吧?然后呢?呃,其他的路径通过 飞船带着小人啊,来把这些飞船啊这些手枪型的路线给串接起来,好,这就是我们之前说的一个支路线啊,像这种陆地上的能量就属于支路线,然后主路线呢,就是我们飞船带领我们小人啊,把这些支路线串起来的 啊,一个路径好啊,首先是我们怎么走这种支路径啊?首先我们定制函数啊,啊?走这个支路径,我们首先有两个啊,至少有两个函数,一个是我们这个方向的 做的一个函数上去下来,对吧?上去,然后倒退下来,然后来一次左转,然后再上去下来,一个是这个长度,一个是这个长度,对吧?所以我们的 a 和 b 定的就是这个啊, 然后我们为什么会定一个 c 呢?啊?就是因为我们啊, 在最后一步啊,在最后一步,我们比如我们上来下来,上来之后就不需要什么不需要的下来,我们就结束了,对吧?所以我们来定一个 c, 来判断我们 啊不需要下来的第一种情况,对吧?好啊,你看我们这个 c 就是在最后的,对吧?不需要倒退了,对吧?也不需要右转,对吧? 所以我们这个 c 是定这个作用的啊?好,我们这个函数呢?是怎么写的呢?怎么写的啊?我们飞船前啊,我们小人前进 a 部,倒退 a 部下来,然后呢?小人左转,对吧?左转,然后前进 b 部,正常的是倒退 b 下来,对吧?让我们飞船要右转,飞船要右转啊,飞船要向下一个地方去,对吧?好,加上一个飞船右转,因为这个右转是在我们后面写这个逻辑的时候发现啊,这块是可以放进来的,可以放进来的,好, 紧接着我们看是做完了这一个之后,我们开始什么啊?首先我们先调这个函数,对吧?三二一 a 等于三,然后这是等于二,然后呢?等于零的时候呢?我们只要不等于一啊四,只要不等于一,他都需要倒退回来,对吧?好, 第一个吊完之后下面我们是干什么?我们飞船已经右转了啊,这个时候我们需要把主路给串起来,对吧?好,我们走一二三四五六六,对吧? 我们这个时候小然还进行了一个什么右转,嗯,进行一个右转啊, 你要知道为什么?因为我们小然这个时候倒退下来的时候是这个朝向的,对吧?我们下一次进去的时候,小然需要朝这个朝向,所以我们小然要需要一个右转,对吧?然后我们飞船前进六步 到这边,然后飞船左转,对吧?然后再前进三步到这边,好,第二次掉,第二次掉这边就是一,对吧?就是二,好,一二,然后他需要倒退回来,是零,对吧?好,我们飞船这个时候需要 啊,又需要又进行一个右转,对吧?右转已经右转了,然后我们再右转一次,往这个方向转,对吧?往这个方向,然后再走几步,一步、两步、三步、四步、五步、六步,对吧? 右转走六步,对吧?然后我们这时候小人的朝向是什么朝向啊?我们小人现在是这个朝向,对吧? 这个头像,那我们就可以直接倒退过去,对吧?倒退过去就不需要再转了啊?倒退五步,一二三四五,就是负,对不对?然后他就走正步下来,对吧?这个时候啊,这个关卡最重要的是这边我们可以用复数,对吧?可以减少减少步数,然后我们还是 紧接着左转,对吧?左转的时候我们就是这个朝向了,对吧?你就可以正式进去走正式走三步,对吧?还是他依然需要倒退回来的, 然后是零,然后回来之后是这个朝向的啊?这个朝向紧接着我们飞船啊,在这个时候我们飞船已经是什么有右 啊?在这边已经右转了,对吧?右转他需要前进一步、两步,三步到这个户口这边来啊?前进三步,好,前进三步,然后左转,左转之后又要前进一二三,对,左转 好。飞船左转,对吧?他已经右转了啊,在这边已经已经右转了,飞船已经 又冷,对吧?你是刚刚讲到哪边讲到了这边了啊?这边之后飞船是先前进三步,然后是 前进三步,对吧?然后是左转,对不对?左转,然后飞船再前进三步,看到吗?飞船前进三步,但是我们看我们这边进入货群啊,用 破循环是什么意思呢?我们可以把这个代码先把它放出来啊,因为大家可能看不懂, 先把破循环去掉。这边用的破循环的主要意思是什么呢?因为我们后面代码星巴发现了规律,用破循环把它减少啊。四减八 i, 第一次就是四,对吧? 第二次是负四好,一减四,哎,这边就是一对不对,这边就是负三 好,待会先把给大家解释为什么会这么做啊?这边是零好,我们看到了这边有这边规律啊,这个时候 到了这边非转,到了这边之后,我们是直接因为小人朝向右,左手朝向,对吧?我们可以直接走四步,对吧?回来,然后是什么?那是一个左转,左转就是朝向这边了啊,那就走一步回来就行了,对吧?就是,所以四一对,对吧? 好,飞船又进行了一个右转了,对吧?右转就朝向这边了,飞船就可以继续前进,一二三步,对吧?一二三三步,非常简约。三步。这个时候我们小人是吵架,是什么吵架 啊?这小人是这个朝上,因为是倒退下来,对吧?是这个朝上,所以我们这个时候倒退四步上去,对吧?倒退四步上去,然后小人是左转 还是右转?显然是倒退,对吧?倒退过去的,我们又是一个左转,对吧?左转是 这个朝向,对吧?我们就去倒退三步进去,对吧?倒退三步进去之后,我们就不需要下来了,所以我们这个时候用一啊一加的判断之后,就不需要下载,也不需要转了,对吧?好,我们再看啊,我们再看这边,我们是可以把它优化一下。怎么优化?因为 啊,可以减少银行代码。首先四 f 三四 f 三对吧?数字之间从四到负四是减少了八对吧? 一到负三减少了四对不对?零到一分加了一啊,我们就可以用一个破循环,就是啊,之前新霸写的那个破循环啊,大家看到啊,我们直接用这个 不循环两次对吧?然后我们把它缩进进去,缩进去刚刚怎么了? 相差多少八对吧?相差八九减八乘以二 啊,为什么像三八四和负四,为什么像三八啊?四到零是四个格子对吧? 零到负四又是四个格,所以他们像三十八,哈哈,是这么个概念啊,大家也没学过负数的啊,可以先这么去理解一下啊, 然后一到负三啊,一到零,首先一到零一减少到零是一个格子,零到负三又是三个格子,所以是差四个,对吧?那么就是减四,哎,四乘以二啊,零到一对吧,从零增加到一 啊,就是加一呗,对吧?加癌对吧?就是癌,好,我们这块就可以减少一行代码。好,我们跑一下 给大家看看啊, 好,这个关卡是没有任何问题的啊,先把已经测试过了,然后呢,无论是代码的行数还是我们这个小人走的步数啊,是完全符合要求的啊,如果说能拿三个行李要求,而且我们走的步数还减少,看到没有 啊,啊,这关辛巴就介绍的给大家介绍到这里,给大家介绍到这里,大家如果还有什么不懂的地方,可以在视频的后方给辛巴留言。 辛巴啊,虽然最近嗓子还是没有完全好啊,辛巴看到了会尽量给大家进行回复,好,感谢大家。