粉丝2610获赞13.0万

哈喽,欢迎来到素颜一分钟小课堂,本期呢,我们将来研究一道数组当中很经典的例题,就是求一下菲波纳妾数列。那什么是菲波纳切数列呀? 就是数列当中的前两个数的值都为一,从第三个数开始呢,该数列当中的数呢,就是他前面两个数之和, 也就是说该数列的值应该为一一,然后第三个数呢,就应该为前两个数的和就是二, 这四个数呢,应该为前两个数的和就是三啊,依次类推。那我们要用程序 输出一下这样数列当中的前三十个数,既然这个数都是有一定的内在联系,又有一批这样的数,所以我们很自然的想到用数组来实现。这个数列当 中存的数据都是 inter 型,所以我们定一个 inter 型的数组,起名为大 f, 要求前三十个,所以这个容量呢,我们给三十个就够用了。然后这个数列当中的前两个数呢,是已知固定的,那我们附上他的初值给前两个, 那这样的话,就意味着前两个元素数组当中是下标从零开始数,比如说第零个元素,它的值和 f 一是相等的,都等于一。 那接下来从第三个数之后呢,就要开始计算了,他应该等于他的前两个数值和,那从第三个数之后呢,依次要去找这些数据去计算,所以呢,我们需要用到一个循环,循环呢,我们要定一个循环 便利的量 i, 我们这个数组要便利的时候呢,其实就是按照下标去便利访问,那这样的话,这个 i 的值要从哪开始呢?他从零开始是吧?但是 f 零和 f 一已经已知了,那我们从 f 二开始计算,一直到 i 小于三十的时候,然后挨加加去计算一下 f 二到 f 二十九这些数它的值。那计算的公式呢?就是按照这个公式,我们用数组的形式给它写出来,就是 f i, 它应该等于 f 下标它的前一个,也就是说 i 减一,加上它的再前一个,那就是 i 减二,那这样通过这个循环呢,我们就能 把 f 二到 f 二十九,呃,数据元素的数值呢,全都算出来,然后我们接下来输出,我们说对数组的输出呢,依然要用到循环,要输出下标从零开始,然后一直到 n 减一,也就是说出零到二十九这三十个数,宾特 f 百分号 d, 然后这个每一个数据元素的值啊,所以 fi 啊,但是这样输出来会有一个什么问题啊?我们会有三十个都在一行输出哈,格式呢?并不是很好,那我们可以 输出五个数据,就进行一个换行,所以这里头呢,我们可以加一个 if, 如果这个下标对五取于等于零,那我们多 print 一个换行符,那这样来控制一下五个数据为一行,然后为了让他 上下也对齐哈,我们每个数据输出呢,让他占固定的宽度,可以占十个空格位,这个宽度保持上下也对齐。那我们来看一下这样的输出效果,这样的话我们就输出了前三十个肺波纳气数列的数据,你听明白了吗?

菲波纳奇数列又被称为黄金分割数列,日常交易中有一定的参考意义。这两天有粉丝问如何将均线指标设置为菲波纳奇数列,下面分享给大家。 一、打开任意交易软件的 k 线图,找到左上角区域的均线数据栏。二、点击鼠标右键选择调整指标参数。三、将数据依次调整为,三、 五、八十三、二十一、三十四、五十五、八十九、选择应用所有周期即可。你学会了吗?关注我,分享更多股票财经知识!

哎,哈喽,各位同学,大家好,能听到我的声音吗?好久不见,好久不见啊,哎,我们今天呢给大家讲的一个非常重要的内容啊,你看这个帅小伙啊,帅不帅啊?啊,不是我,是他 啊,啊,飞博纳妾啊,很明显是一个人的名字,所以我们今天呢就给大家讲解飞博纳妾属列 啊,因为这个数列呢,是全国各地几乎所有的地方模考题都考过啊,所以呢,我们今天好好的给大家研究一下啊。当然 呃,在我们教材上,不论是人教 a 版还是人教 b 版,他都讲解了,所以呢,我基本上是把教材上的一些语言给大家搬出来了,给大家讲解一下啊,叫非拨纳器,为什么叫神奇呢?你们知道为什么叫神奇吗?啊,真绝了啊, 告诉大家为什么叫神奇,就是因为非蒙娜小数列在我们自然啊,自自然当中啊,太常见了啊,你比如像这个咱们教程上出现的这么一段话, 就是这个树枝啊,一年长出一个新枝来,他服从飞奔那些树立,你看我们这是教堂的原话,我们给大家读一下啊,真的特别神奇, 包括是什么呢?包括这个花瓣的花瓣树,这个你们知道吗?花瓣树基本上都是啊,什么三瓣啊,五瓣啊,八瓣呀,就是在我们日常生活当中,或者说自然当中非么那些树叶太常见了,给人的感觉就是 就是,好像是人安排好的似的。那你们知道你们牛哥到晚年的时候研究什么,知道了吧?你们牛哥晚年的时候,牛顿 晚年的时候就研究神学,包括爱因斯坦晚年的时候呢,他也有点啊,研究这个神,就是老感觉,自然生活当中很多东西都是 都是给人的感觉,就是人安排好的,刻意安排好的。其实今天的这个菲猫那些数列就是真的是特别神奇, 对吧?当然你也可以,是吧?你,你也可以高考的时候直接考哈佛也可以啊,哈尔滨佛学院直接研究神学也可以啊,直接过去研究自然科学这一个阶段。 你看我们教材上这句话说的什么呢?有趣的是,我们在自然界中发现了许多菲博纳奇术列,一会给大家说,什么叫菲博纳奇术列啊?例如一棵树在第一年长出一个新植,第一年长出了一个新植啊,就相当于他,然后第二年呢,就是一年之后变 老枝,老枝每年又长出一个新枝,你看他,然后呢,又长出一个新枝,这个地方又长出一个新枝,所以他在每一年所这个枝数,他正好是一个非莫纳邪属列绝不绝。你看一二三五八, 这是我们教程上的原话,只是我从网上找了一个图片,这是人教 a 版上的啊,然后呢,他还说了一句话, 更加有趣的是啊,这个刚才说到了向日葵,你们都吃过瓜子吧,你看看向日葵是什么呢?这,你看他这个,这个曲线,从这里啊,你看这里出来一个曲线,这里出来一个曲线,一正一反。这个曲线呢,从内往外逆时针的螺旋有十三条, 然后顺时针呢,螺旋呢,有二十一条,他这两个数正好是相邻的两个分末。那些数,你看 向日葵也是绝了不?当然更绝的是什么呢?更绝的是我们教材上说了一个曲线叫啊,非莫纳妾螺旋,什么叫非莫纳妾螺旋呢?我先让大家脑补一下,你说什么样的东西长得像这个样, 你先想一想在评论区打出来啊,什么样的像这个菲波纳气螺旋呢?头两天啊,刚刚到我们山东啊,有个什么东西,对吧?你们想一想,能够想到什么东西,在我们自然界当中太多太多了, 蜗牛很好,有点像啊,这不是蜗牛就是长得这个样吗?海螺可以,还有什么? 还有什么?头两天刚刚到山东,前几天肯定是在什么杭州,浙江,台风太好了,你们太厉害了,你看看,这不就台风吗?台 台风形成的那个漩涡,它不就相当于飞摩纳器吗?哎,这个螺旋还有什么?你看这个蜗牛,你说在我们自然界当中太多太多了,所以呢,哎,真的是非常神奇,非常神秘, 哎,非常啊,当然也是我们考试的重点,几乎所有地方模拟题都会涉及到,所以我们今天给大家讲透。那么什么叫非莫纳器的螺旋呢?这个螺旋我给大家说一下啊,先说这个数列,这个数列是这样的啊, 第一个数是一,第二个数也是一,下一个数呢,是前两个数之和,你看二,再下一个数呢,也是前两个数之和。三,再下一个呢,也是前两个数之和,这是五。知道什么叫非蒙那些数列了吧,然后再下个数是什么呢?是八,他怎么 来的?我一会再给大家讲,我先把教材上的这个非不纳气的螺旋给大家解释一下,哎,在下一个数是几是十,三会写了,不 就是任何一个,任何一项都是前面两项之和,所以这个菲波纳切螺旋是怎么回事呢?他拿着第一个数,比如一,然后做一个小正方形,看到了吗?然后呢,再拿着第二个数也做一个小正方形, 听清楚了吗?然后呢,以这两个正方形,这个地方边长是二吧?再以他边长做一个正方形,以边长为二,做一个正方形, 然后呢,再以 a 三做一个正方形,就这样排列下来,你看清楚怎么排列的?这个螺旋是怎么螺旋出来的呢?它就是从第一个开始做一个扇形,做一个 四分之一圆,做一个四分之一圆,然后呢,再乘着做一个四分之一圆,再做一个四分之一圆,再做一个四分之一圆,再做四分之一圆。好,他这样螺旋出来了,这就是菲摩纳器螺旋。 当然这个呢,有一个超级重要的结论,这个结论呢是我们全国各地模考题几乎是必考的一个结论。这句话也是我们教材上的,我问你能看懂不?能听懂不?我教给你们去记忆, 哎,你看你能看懂不?就说白了,这个 f 一就相当于 a 一啊,非非啊,首字母就是第一项, a 一的平方加 a 二的平方,一直加到 a 呢平方等于他能记住不? 你肯定是记不住吗?他长这么丑,这么难看,你能记住,你是人才了就对不对?所以呢,我给大家说一下,他这个怎么来的,你可以看看, 特别有规律。那你想一想, a 一的平方你能想到什么? a 一的平方你能想到什么? a 一的平方是不是第一个小正方形的面积? a 二的平方是什么呢?第二个小正方形的面积, a 三的平方是什么呢?是第三个小正方形的面积, 好理解不?所以我们记住 an 嘛,我们喜欢用 an, 所以 a 一的平方加 a 二的平方加 a 三的平方一直加加加,加上一个 an 的平方,这就相当于这么多小正方形的面积。那我问大家一个问题,我们先找找规律, 第一个小正方形的面积加第二个小正方形的面积等于什么?是不是就等于个一加一等于二,这个二是不是正好等于个一乘以二,长乘宽一 乘以二,你可以看一看,是不是就应该等一个 a 二乘 a 三?那你看,如果三个小正方形的面积就是第一项的和第二项的平方和第三项的平方和,就相当于 a 方加 a, 二方加 a, 三方加在一起,是不是这个矩形的面积? 那么是这个矩形的面积的话,是不是长乘宽一个是二,一个是三,所以加到 a 三的话,是不是就就应该等于个多少二乘三,二乘三,是不是就应该等于个 a 三乘以 a 四?所以这个地方答案就应该是 an 乘以个 an 加一, 他加在一起正好是那个矩形的面积。当然如果你听不懂,我一会给大家严谨的去证明一下我在说什么,你能听懂了吗?再说一遍,第一项就是 a 一的平方就是第一个小正方形的面积, a 二的平方呢,就是第二个正方形的面积, a 三的平方呢,就是第三个正方形的面积。我再给你加一个 a 四的平方呢,就是第四个正方形的面积,它俩加在一起,我们就加个四,加到四是不是这个矩形的面积, 这个矩形的面积,这个矩形的面积当然就是长乘宽,这是三,那么这个量是几呢?这个量就应该是五,所以加到 a 四的平方就应该是三乘五,三乘五不就是应该是 a 四乘 a 五吗?所以加到 n 的平方就应该等于 a, n 乘以 n 加一。当然我一会给大家证明,这是我们教材上出现的一个公式,听的模模糊也正常,因为我现在从头干,从头开始给大家讲什么叫非门大学术 飞锋大学数列,刚才也给大家说过了,我们自然界当中太多了,什么台风呀,什么哎,还有一个什么,哎,你看你的耳朵,你的耳朵长什么样? 哎,高同学,你的耳朵那个是不是有点像菲波纳切螺旋?哎,你有耳朵吗?有,是吧?啊?看到了吗?你,那个,你看那个地方,是不是有点像菲波纳切螺旋,所以真的是特别神秘,真绝了, 好像我们一切都是别人安排好的似的,所以我也不知道,我也不知道这个自然科学,或者说我们这些东西是叫发明呢?还是叫发现, 绝了不,所以什么叫非门纳妾呢?非门纳妾,这个数学家,他一开始研究什么呢?研究兔子,兔子最大的一个特点就是特别能生,特别能生啊,哎,兔子, 所以我们又叫兔子树林,给大家从头给大家讲一讲这个概念,那个兔子有多能生呢?就是第一个月刚出生,是一个小兔子,然后第二个月呢啊,他就长大了,第三个月呢,他就能生小兔子了, 然后呢,我们就看这么多兔子,他到底变成多少了?所以我们教材是这么说的,第一个月我们有一对小兔子啊, 小兔子当然是不能生兔子的啊,然后呢,他第二个月就成熟了,第三个月呢,就能生兔子了,所以我们 看一看总共有多少个兔子,这就叫兔子数列,所以你听清楚。首先第一个月,这是一个月,然后呢,我们说这是小兔子,小兔子啊,下一 这个呢,就是成熟的兔子,当然第一个月的时候先有一对小兔子,我们这个量数目是一听清楚了,到第二个月的时候呢,这个兔子呢,就变成熟了,所以,哎,所以第二个月成熟的, 当然第一个月成熟度成熟是没有的啊,成熟的兔子的对数是没有的,一开始就一对小兔子,然后掉。第二个月的时候呢,这个小兔子呢啊,小兔子他就变成熟了,听清楚了吗?当然这个成熟的小兔子呢,就没有了, 知道我该怎么写了吧?各位同学,你看,再说一遍,第一个月我有一对小兔子,他是不能生小兔子的,然后呢,成熟的兔子是没有的,兔子呢,第二个月就成熟,他 长他一个月,第二个月就成熟了,所以到第二个月的时候,那个小兔子呢,就变成熟的兔子了,所以现在呢,就没有小兔子了啊,就是小学数学是吧?然后到第三个月的时候,我问你, 小兔子有几个,有几小兔子,是不是小兔子就应该有一对有一个了, 听清楚了吗?因为这个成熟的兔子他就生兔子了,小兔子有一个,那么成熟的兔子呢,他很明显还有一个 成熟的,还是成熟的吗?他生出来一对小兔子啊,生出来一个小兔子,所以 a 一呢,我们就记住,一看见了吗?兔子的总数 a 二呢,他也是一, a 三呢,他就变成二。大家可以看到四月的时候,下一个月,下一个月呢,这个小 兔子呢,又变成熟了,所以你告诉我成熟的兔子有有几对了,有了几个了?哎,两个,好理解不。那么现在呢,有成熟的兔子变成两个,那个这个成熟的兔子是不是又得生一个小兔子 啊?他就生了哈,对啊,你发现其实不用研究了,结论是什么?特别能生, 特别能生啊,特别能生,所以这时候呢,我们就第四个呢,就应该是三, 总共是数字就变成三了,在下一个月的话,五月份,五月份的话,大家想一想,那么成熟的兔子,他很明显还会生。兔子现在成熟呢,他有两两个,是吧?所以他生出来两个,对吧?每一个成熟的都会生,然后呢,这个呢,这个小小兔子 字变成几个了?变成了几啊?变成三个,因为原来有两个, 原来有两个,然后呢,这个小兔子又变成成熟的,所以 a 五就应该等于个几啊?等于个五,你会发现这个数列的地推关系式是什么呢?你看五的时候呢,是二加三, a 四的时候是一加二,所以我们就得到了一个地推关系,是 an 加二等于个 an 加一,加上一个 an。 好,我问大家一个问题,这个数列见过吗?连续三项, 这个地推关系是是这样的,当然首相是 a 一等于一, a 二呢,也是一。那我问大家一个问题啊,我们这次研究数学啊,啊,你这个来了一个突,来了一场病突,这 一窝都死光了。我们不研究啊,兔子不死吗?当然死了,我们不研究,我们这是做数学题,不是在这里讲兔子,更不是在这里搞计划生育,这个兔子特别的生,听懂了吗?所以我们在做数学题,这都是相对来说是比较理论的, 对不对?你说怎么兔子这么能生啊?你们小时候我不知道你们家里养过兔子吗?如果养兔子就知道兔子真的是特别能生的啊。对, 然后呢?我们得到这么一个地推关系,是 a 一等于一, a 二等于他,所以下面的问题来了,他的同样公式是什么?谁能告诉我哪一年考过?你在评论区打出来 连续三项的问题,求通向。好,那我再给大家推导一下啊,通向公式是什么?你想一想,哪一年考? 考过,只是那一年考的特别简单,知道怎么来的吧。这个费末拿下数列 一九全国一,二零一九全国一。理科最后一道概率大题。最后一道概率大题的第一问就是连续三项,只是那个题非常的简单,能听清楚吧?那么这道题它的通向公式是什么呢? 好,第一种方法,你们听说过特征跟方程不?只要是连续三项他都符合,都可以用特征跟方程求出他的通向公式来,学过吗?他的特征跟方程是什么呢?就是我令 a n, 另这个 n 等于一,然后呢?把 n 加一写成 x, 然后呢? a n 加二写成 x 方,你看你能听懂吗? 听不懂,我在讲第二种方法,他就应该等一个 x 加上一个一,这时候呢,他有两个根,如果他有两个不等的根,那么他的通向公式是什么样的?好,我再说一遍啊,这个地方呢?这个地方是大学学物,原来考试特别喜欢考这两年呢, 中间啊,沉寂了几年,我估计以后还是有可能考到的。再给大家说一遍啊,如果是连续三项的话, 这呢有一个特征跟方程。有一个结论,我们把 a n 加二写成 x 方,把 a n 加一写成 x, 把 a n 写成一,这叫二阶特征跟方程。 那么他这时候呢,根的个数呢?就有三种情况,他有两个不等的根,好理解吧,他如果有两个不等的 根的话,它的通向公式一定是 a 乘以 x 一的 n 次方,加上一个 b 乘以 x 二的 n 次方,那么这个 a b 怎么求呢?代入 a 一 a 二就可以了, 带入 a 一 a 二,就能求出 a b 来。听清楚。如果有两个相等的根,当然我们今天用不到。如果有两个相等的根, 假设我们记住 x 零,它的通向公式就应该长得这个样, a n 加 b, 它是有结论的。 哎, x 零的 n 次方,你可以记一下来。如果他无根无根呢?这个地方特别喜欢考考那种比较简单的弱智的题,无根说明他就有虚根,虚根呢,他就有周期性,所以这个 an 是一个周期数列。 比如我让你求 a 二零二二,我让求 a 二零二三,它是一个周期数列。 如果你这个点听不懂,或者说这条没有什么听懂,听不懂,你记一下来。这个地方呢,推导就不说了啊,特征跟方程,这叫当然,一会我再用通话一步一步给你推导一下,都是可以的。 明白,所以大家可以看它的特征跟方程是什么呢?我把它想成一,我把它想成 x, 这个地方就应该是 x 方,所以这样的话,我能就能求出两根来。 x 方减去个 x, 减去个一等于零,它的根正好是二, a 分之,负 b 加减,根号下他谁对这个数敏感?我不知道,你小学毕业了吗?为什么叫神奇的飞拨?那些数列绝了,二分之一 减跟五,或者说你先想到二分之跟五减一,二分之跟五减一,绝了,这个数好像是多少来?零点六一八,黄金分割。 黄金分割什么意思呢?就是这个飞波纳妾数列不停的往后写,相邻两相之比,相邻两相之比,就他比,他越来越趋近于零点六一八, 包括那个谁?蒙娜丽莎那个,那个头像是不是长得特别漂亮?是不是?你知道他为什么长得漂亮吗? 因为蒙娜丽莎那个,那个地方,他正好也符合菲波纳七螺旋,他正好是零点六一八,真的是非常绝望。再说一遍,菲波纳七数列,如果你不停的往后写,这是五,下一个是八,然后呢?不停的往后写,相邻两相之 越来越接近于零点六一八,也就是二分之跟五减一,也就是黄金分割, 黄金分割能听清楚吧?所以这时候我们算出两根来,一个是他这两根是不相等的,所以他的通向公式就应该是这样的, a 乘以一个根,二分之一减根五的 n 次方, 然后再加上一个 b 乘以个多少呢?二分之一加跟五的 n 次方。那我怎么求这个 a b 呢? 啊?卡吗?我这边没看出来卡呢,我怎么求出这个 a b 来呢?我带入两个数,带入 a 一, a 二,比如把 a 一带进去, a 一等于一,那也就说 a 乘以二分之一减跟五,加上一个 b 乘以个二分之 一加根五,等一个一,我再代入 a 等于二, a 乘以个二分之一减根五的平方。哎呦,确实计算量挺大的啊,有点烦躁。我说的是你等一个一,你能解出 ab 来不? 这个 ab 就能解出来。我不想解了,因为我知道你特别喜欢算数啊,我猜的,听到了吗?我就不算了啊,我直接把答案给抄过来了。好,你觉得你能算出来吗?应该是很简单的这个计算啊,要不我给你算算? 这计算很小的啊。看着这个的话,平方就应该是 a 乘以个四分之一加五是六,六减二跟五,三减跟五,然后二分之加上一个 b, 完全平方是四分之,约了一个二,三加跟五,然后 等于个一,然后呢,这两个式子相减,拿着这个式子减,上面那个式子就应该是跟五张减没了二分之三,个 a 减二分之一个 a, 正好是 a, 然后 b 呢,正好是 ba, 加 b 等于零,所以 a 和 b 是相反数,看出来了吧, a 和 b 是相反数,然后呢,这个数就应该是负 b 喽, 负 b 的话,所以就能这个地方就能算出 b 来多少个就应该是 b, 负 b 相减的话,正好是根五吧,根五, b 等于个一,所以 b 等于个一, b 跟五。 所以各位同学一定要好好的算数啊,计算不过完,数学一定学不好。好,我算的快吗?然后呢,这个 a 呢,就应该是负的,负的 b 跟五,所以非拨纳切数列的它的通向公式就应该等于个二分之一加跟五的 n 次方,然后呢,减去一个二分之一,减跟五的 n 次方,当然前面有个 跟五分之一,你发现他绝在什么地方呢?是不是分布那些数列?他每一项都是整数,但是呢,他的通向公式里边都有跟五,都有五里数,是不是又非常绝? 你想一想,通向公式长这么丑,他算出来全是整数,你把 n 哪一带进去是整数一,把 n 哪二带进去算出来还是一?你把 n 哪三带进去算出来是二,你说,哎,真是,他这里边有五里数,最后算出来是整数,每一项都是整数好吧,当然,如 如果是你这个地方没有听懂这个地方,或者说你,你记下来就可以,学霸同学听懂的也是记住的啊,这叫特征跟方程,二阶特征跟方程。那你说,显哥,俺就想一步一步推倒,那我就给你一步一步推倒一下, 给大家一步一步推导一下啊,用我们目前的知识来说,怎么能够把它推导出来?当然计算量也是非常大的,我就给你解释一下意思,我就不想给大家算一遍了。 这个推导的过程也是二零一九年全国一考试的过程,只是那道题考的特别简单。我先呢给大家讲二零一九年啊,全国一这道题目。那道题怎么说的呢?我记得啊,大概是这个样子的,他也是连续三 三项,大概呢,是这个样子吧,忘了啊。然后呢,他让你证明,第一问 a n 加一减去个 a n, 他是一个等比数列,他考的特别简单。 但是呢,我为什么给你讲讲这个简单呢,让你找找感觉,他是怎么构造数列的,大家体会一下。这个地方是连续三项,有个 an, 有个 n 加一,有个 n 加二,我们构造数列只有一个目的,就是为了凑出相邻两项来, 你觉得应该把谁移过去才能抽出项链两项来?是不是我们应该把 n 加一移过去一个,是不是?如果我把 n 加一移过去一个的话,对不对啊?或者说这个工笔不太行,是吧?我给你 改个数就可以了。这个量是三,这个量是二啊,原体我忘了啊,这个量是三,这个量是二,我如果移过去一个的话,右边正好三倍的 n 加一,还剩两倍的 正好,我搞出来他俩是相类两项能看出来不?看不到是吧?啊?没注意, 明白了吧?现在是不是它俩正好是相邻两项?那所以这不就是等比数列了吗? n 加一减去个 a n, 它是个等比数列, 他是这么考的,就是当年考的特别简单,就是你再傻也能够看出来移多少。移这么一个 a, n 加一移到左端去,正好凑出相邻两项,凑出相邻两项,这样的话,他正好是一个等比数列。听懂了,那我问大家一个问题,现在 你能够看出来他移多少不?这张是加,你能看出来移多少不?你当然看不出来了,你能看出来你就神人了。我看不出来啊,那看不出来怎么办?我们就可以用概念系数法呀,你看看我把这个 a n 加一移过去一点,移多少?不清楚, 我呢把它写成 x 倍的 a n 加一,但是呢,这个地方呢,我把它写成 a n 加一,加上一个 x 倍的 a n 为什么都是 x 呢?就是因为我想把它抽出项链拿下来, 这呢,相邻两项,把 n 变成 n 加一,正好是它,所以它正好是等比数列了。那这个 x y 是谁呢?你把这个括号打开,这就是通法,通法就真 非常复杂。我告诉你,你说这东西怎么那么难啊,哎,教材在这放着呢。人教 a 版五十七页第十六题让你证明非博纳学术类的通向公式就是他 人教 a 版,人教 b 版是是课本上立体人教 a 版是课后题,全都有,你都没看过。所以你把括号打开之后,这个式子和这个式子完全是一样的。所以我比较这个系数,你会发现这个外减 x 正好等于一, 这个 x y 正好也等一,我就能求出 x y 来。那求出 x y 来怎么求呢? x 乘以 y, y 等于 x 加一等于个零等于一,所以 x 方加上一个 x 减一等于零,所以 x 就应该等于个二, a 分之负, b 加根号下五,另外一个 x 等于个二, a 分之负, b 减去根号下五。当然这个 y 呢?啊, y 是什么呢? x 加一就应该是二分之一加根五, 另外一组它俩相加是 y 等于 x 加一,所以 y 等于个二分之一,减等于五。 然后你把它带进去,他就能构造出一个等比数列来。你比如带他 an 加二加上一个,我不给他算了啊,太麻烦了。带第一组二分之根五减一,给人的感觉好像算不太出来了, 肯定能算出来啊,所以这个量是 a n 加一啊,这张有个 a n 加一啊,这个数太恶心了,你能听懂我在说什么了吗? 考试的时候,如果这个系数比较巧的话,它当然就可以了,二分之跟五减一 a n, 所以这个数列是等比数列,看到了,也就是说 n 加一加上一个二分之跟五减一 a n, 它是一个等比数列,我们就能求出它的通向公式。 明白,当然你了解一下就可以了。你可以看看这个一九年怎么考的,就是挪过去一个数, 只是考试的时候他不会考那么复杂,因为飞波那些数列确确实实这个数不是特别巧。好,我再让你看看他的通讲公式,你用这种方法做挺好,一下就能做出来,他需要用那么一个结论。 那么我们考试的时候到底怎么考呢?他不会说直接让你求他的通向公式吧,因为你会发现他的通向公式特别复杂,他 直接作为这个题目不太好,不太容易考察。那怎么办呢?他这样考,这就是考试题了。我们通过这道题来给大家讲解一下, 这些题干都不用读了。他说,意大利著名数学家费蒙纳妾在研究兔子生孩子的问题时,发现了这样一个一列数,你这个他有点挡住,无所谓啊, 都不用看了,一一二三五,从第三项起,每一项都等于他前面两个数的和,我们称为飞波那些数列,然后完了, ok, 所以你挡住了也无所谓,就看这四个选项对不对,对吧,超级重要。这道题他用到的求和方法基本上都是列项,所以我们给大家讲解一下。先看一下 a 选项, a, a 选项是最简单的,就说白了,你要会求某一项,他为什么不会让你求 a 二零二三呀?因为 a 二零二三太复杂了,空项公司刚才给大家讲了,他就让你求 a 六,你看,第一项是一,第二项是一,第三项是前两项之和二, 下一项呢是前两项之和三,再下一项呢是前两项之和是五,再下一项呢是八 a, 对不对? 对不对啊?恭喜你蒙对一个选项,所以 a 六等于八,哎,这是对的。那么下面呢,我们再看 b 选项, b 选项呢?他让我求的是前 二零二二项的和等不等于他。那么如果二零二二项的和,那你告诉我,如果这个数列,你看,我给你写出来, a n 加二等于个 a n 加一加上一个 a n, 如果让你求一个竖列的前 n 下和, 那你可以看一看用什么方法求,这是必选项啊,我就说了,超级有名,超级重要。这种题,你看着 an 等于什么呢? an 加二减去一个 an 加一,我把它写成了相邻两项之差, 所以求 a n 的前一项和,就说白了是 a 一加 a 二,一直加到,我给你推一个结论吧, 加到一个 a n, a 一等于什么呢? a 一把 n 等于一带进去,是 a 三减去 a 二列向相消,现在懂了吧?你看啊,地推关系 是这样的,任何一项都等于前两项之和,所以我一个项 an 等于他相乘了,把它写成了相邻两项之差,所以 a 一加 a 二加到 an 这个数列,就应该是 sn 前向和。那么我们带这个地推关系是 a 一等于什么呢? a 一等于一个 a 三减 a 二,看到了 a 二等于什么呢?把 n 等于二带进去,就应该等一个 a 四减 a 三,然后呢? a 三是谁呢?就应该是 a 五减 a 四, 没错吧?然后呢,我一直加加加,加到一个 a n, 等一个 a n 加二,减去一个 a n 加一,能听清楚吧?所以我们列销销 消码,所以 a 三消掉了,然后呢? a 四消掉了,然后呢?啊,前面剩一个负的嘛,后边肯定是剩一个正的,所以约掉了。所以这个题的答案就应该等一个 a n 加二,减去一个多少呢?减去个 a 二, 听懂了,等一个 a n 加二,减去一个 a 二。所以你告诉我这个题答案对不对? 好, a 一等于个 a 三减二, a 二的话,就应该等于个 啊, a 四减 a 三,所以呢,它就应该等于个它。好,你看看能听懂不?快点看没问题吧?当然你 这个题他等于 a 加二减 a 二, a 二是一啊,所以这道题是不是这个选项不太对,前二零二二相合,当然,你这个地方还还可以把它写成什么呢?如果你不想写那么远,你还可以这样,你看着啊, a n 加一,他就应该等于个 a n 加上一个 a n 减一,这样对不对? 各位同学,你写他也行,你写到 an, 写到 n 加一,写到 n 加二,都没有问题,只要是任何一项都等于前两项之和就可以了。所以我再给你推一遍,有的同学没听懂,我看啊,你这样写也可以,你看啊, sn, 如果你这样写,就有个问题,各位同学, 你这个式子能带一不?最少带一,不行,他出现了 a 零,所以前 a 项和是 a 一加 a 二。我给你讲两遍啊, 讲两遍,因为它非常的重要。后面也是一样的, a 一加 a 二,一直加到 a n, 这时候你带 a 一不行,所以 a 一就写 a 一,那你想一想,当 n n 几的时候是 a 二, a 二的话,是不是当 n 等于一也不行,所以 a 一加 a 二, 当 n 等于二的时候就 a 三,对吧?然后呢,你就能够找到一个地推关系,四相相邻也是写成之差啊。所以 a n 啊,写成什么? a n, 他没错吧? n 打点二,没错,没错啊,还用推吗?你听懂了吧?听懂了我就不推了,所以这个电话我就推出一个结论来, 没问题吧?对,就是写成支叉相邻两下 叉,然后呢,就正好是一个列项的形式。列项的形式啊,啊,有点卡是吧? 等一等,等一等, 等一等, 现在能听懂吧?现在能听到吧?现在能听到吧? 好了吗?好了是吧?好了好了,那就听好啊,我刚才给你讲的 b 选项,你能听懂不?这是一个结论,你给我记下来, 这是一个,这些个,这是一个结论,我就不再给你写一遍了。刚才那个啊,你给我记下来,通过这个地推观音寺, 你把它写成 a n, 等于个 a, n 加二减 n 加一,所以 a 一加 a 二加 a 三,一直这样写下去就可以了,所以这是个结论。我们再看 c 选项, c 选项呢,又是非常重要的,他说 a 一加 a 三加 a 五,一直加到 a 二零二一,也就是说所有基数项的和我们怎么求?当然我们地推关系式还是他。 那你告诉我,怎么能出现所有基础相的和呢?体会一下,所有基础相的和怎么求呢? 还是一样的呗。需要注意的是,你看啊,我给你找这么一个关键词,你就绝了,非常灵活, a 一加 a 三加 a 五加 a 七,一直加到我们假设是 a n, 因为这个 n 是 基数,我把这个 a 一呢写成 a 二,你说对不对? a 一和 a 二是不是都是一?所以我把这个 a 一写成 a 二,那你告诉我 a 二加 a 三是几?快点 a 二加 a 三是几? a 二加 a 三是不是 a 四? a 四加 a 五是几? a 五, a 四加 a 五是 a 六, a 六加 a 七是几? a 八, 对不对啊?所以看出来了吧?我把这个第一项,我把第一项写成 a 二,因为 a 一和 a 二本身就是一样的,所以 a 二加 a 三就应该是 a 四, a 四加 a 五呢,就应该 a 六。 a 六加 a 七,就应该是 a 八,一直加到 a n, 答案是多少,答案是多少? a n 加一, 所以他对了不,他也是对的。这是 n 为基数的时候,现在懂了, n 为基数啊, n 为基 数,所以飞过那些数列基数相的和,他正好是 n 加一。那如果因为偶数呢?你再看清楚,他这个题没考。 a 二加 a 四加 a 六加 a 八,一直加到 an。 如果这个 n 是偶数, 这个盒是多少呢?总球呢?总球呢?你瞪大眼睛看清楚啊,你的眼睛本来就很大,我前边补个 a 一,我后边减个 a 一, 那是不是这个四字保持不变,他正好加了一个 a 一,减了一个 a 一,他正好还是偶数相的和,那这时候怎么办? a 一加 a 二等于 a 三, a 三加 a 四等于 a 五, a 五加 a 六呢,等于 a 七, a 七加 a 八呢,等于 a 九, 所以这个地方就应该等个 a n 加一,所以这道题的答案就应该是 a n 加一,减去个 a 一,会了吗?所以非把那些数列前基数相合,就是 n 加一, 前偶数项和呢,他正好是 a 加一减 a 一,所以这个 c 选项是正确的, c 选项是正确的。如果他让求 a 二加 a, 是一直加到 a 二零二二,他后边还得减个一,简单不?所以这里边求和的方法都非常重要。好,这是 c 选项,我们再看 d 选项, d 选项呢?它让我求和是 n 的平方,我刚才讲了吗?我刚才讲了吗?这个 n 的平方,这是个结论。教材上的原画, a 一的平方加 a 二的平方一直加到 a n 的平方,等于它对还是不对?先问你对还是不对,这是正确的,这是 个结论。哎,这是个结论啊,也就是说你可以借助于这个小矩形的面积。我刚才给大家讲的啊, 就是 a 一的平方是第一个正方形的面积, a 二的平方是第二个正方形的面积,然后呢, a 三的平方是第三个正方形的面积,加在一起就是什么了?好,那我们给大家证明一下,证明一下啊,那么 a 一的平方加 a 二的平方 一直加到 a n 的平方,那么它怎么求和呢?我们先算 a 呢?平方,我们还是用列项,列项呢?稍微啊,就是这种题都是用列项。你看,我成了一个 a n, 我把这个 a n 写成什么呢? 我把这个 a n 啊,我必须得写成相邻两项之差,所以我怎么写呢?我把这个 a n 其中一个 an 写成什么呢?写成 an 加一,减去一个 an 减一,大家看清楚了吗?你看 an 等于他 an 乘以 an, 所以我把括号打开,就应该等于个 a n 乘一个 a n 加一,减去一个 a n 减一,乘一个 a n, 我问大家一个问题,他俩是不是相邻两项, 现在懂了吧?他俩完全是相邻两项,所以 n 的平方求和是列相相销。这就是为什么我专门拿出这么一个专题来给大家讲解,因为求和最重要的方法就是列相相销,没有比他再重要的了, 所以这个求和的时候怎么办呢?由于这个数列啊,你把 n a 一带进去是没有意义的,所以 n 是大等于二的,也就是说它的前 好看的啊,带数了啊, a 方加上一个 a 二方一直加到 an 的平方, a 一的平方不能带,原因是把 a 哪一带进去没有意义, a 二的平方,把 a 哪个二代进去是 a 二乘以 a 三减去一个 a 一乘以个 a 二, a 三的平方是什么呢? a 三的平方就应该是把 n 等于啊, n 等于啊,三代减去就应该是 a 三乘以个 a 四减去一个 a 二乘以个 a 三, 然后一直巴拉巴拉约掉了吗?中间都 a, n 乘一个 n 加一减去一个 a, n 减一乘一个 a n。 好,大家看怎么约掉的,怎么约掉的,看清楚啊。首先 a 三乘 a, a 二乘 a 三约掉了,然后呢, a 三 乘 a 是肯定约掉了,前面剩了个负的,你发现了吗?那是不是后面一定剩个正的,这个一定约了列箱箱箱箱码连续约的,但是呢,前面上面这个负的,又因为 a 一的平方,它就是 a 乘, a 二都是一,所以最终的答案就是 an 乘一个 an 加一。 我给大家整完了,你学会了没有?学会了没有,听清楚了吗? 好,你体会一下。你看哪个选项?没听懂这四个选项,这三个选项都是结论,全都是结论, 全都是结论。好,我说明白了没有?所以呢,我再给大家总结一下。第一个,第一个公式是前 a 项核是什么?前 a 项核推导工程在这呢,推导工程在这呢? ok, 然后呢,前一项核推导完之后呢?呃,再就是基数项的核是多少?推导过程在这呢? 偶数项的课是多少?推倒过程在这呢,这都是结论。然后呢, a 一方 a 二方 a 三方 an 方,这个等于多少?等于 an 乘以 n 加一,这个结论在这呢,基本上就考这四个结论,当然还有可能一个比较难的结论,这个有点难了,我就不想给大家讲解了,我给你写出来, 有兴趣的同学自己去推一推。这个结论啊,我给大家写一写,好吧,就是什么呢?他有的时候考这个, a 一乘以 a 二加上一个 a 二乘以 a 三, 一直加到 a n 乘以个 a, n 加一,它问你它等于什么?那么它等于什么呢?这时候要分基偶, 也就说 n 为基数的时候, n 为基数的时候,这个答案是 n 加一的平方, n 为偶数的时候呢?啊,它等于什么呢? a n 乘以个 a, n 加二。 就是很多模拟题考的特别难,他特别喜欢考这个选项,所以这几个题,这几个选项都是结论,你会这几个选项费用那些数列就学的非常明白了,当然有的题还会这样考,我看看你会做了不?比如这个曲线啊 啊,非莫纳切螺旋,他问你什么呢?这些扇形的面积之和是多少?比如在第一个非莫纳切螺旋,他与正方形所围成的这四分之一个圆,我们记住他的面积,我们记住 b 一。他的面积啊, 或者是 b 一方,它的面积我们记着 b 二方,它的面积,我们记着 b 三方,它的面积,我们记着 b 四方,一直到 b n 方。有的时候我还模拟题还这样考了,人家问你 b 一方加 b 二方,一直加到 b 一方是多少?有会的吗? 有会的吗?我再说一遍,你可能没听懂,我看到模拟题有这样考的,就是非波纳切螺旋,这是教材上的一个图,他说这些扇形的面积和是多少, 这些扇形的面积之和是多少,所以第一个扇形的面积是 b 方,那所以它和 a 有什么关系? 它和 n 有什么关系?大家可以看 b n 是什么? b n 是不是四分之一个 派二方,他的半径正好是 a 一,能听懂不?也就说第一个扇形的面积是四分之一派二方,这个半径正好是 a 一, 第二个扇形的面积呢?半径正好是 a 二,第三个扇形呢?半径正好是 a 三,所以它是四分之一派 a 方, 听懂了吗?所以啊,我们假设他是平方吧,啊,上下的面积,所以 b 一方加 b 二方。模拟题考过,一直加到 b 一方, 它就应该等个四分之派。括弧 a 一方加上一个 a 二方,一直加到 a n 的平方,所以呢,它等个四分之派, a n 乘一个 a n 加一。好,能听懂了吧?好,你可以看一下这些东西,你看你都能听懂不? 没问题,是吧?好,那我们今天给大家讲的非蒙娜些数列应该讲的非常明白,我们做一个简单的总结,第一个他的通向公式你要了解一下怎么推导的,你最好是要会的啊。然后第二个呢?他有这么多结论, 我通过这一道题,你就可以把这些结论全都记忆下来, ok 吧?这些结论呢?其实你说需要记忆吗?当然不需要记忆,你要是记忆的话,你根本记不住,根本记不住,能懂不? 所以你看清楚我怎么推倒的,推一推就可以了,基本上都是列项,所以我给大家说一下啊非怎么写啊?非妈纳妾, 我给大家总结一下,切东西绝了,这字非摩纳切数列,它基本上从这几个地方考。第一个地推关系式是 a n 加二等于个 a, n 加一加上一个 a n, a 一等于个一, a 二等于个一, 这是地推关系。第二个呢,就是他的通向公式是什么?这个呢,你了解一下,你当然不用刻意的去记忆啊,怎么去构造数列的?就是 xy 连续三项构造一下,我们教材上是有的,不建议你死记硬背啊,教材上有 对吧?第三个就是它的前 n 项和是什么?这呢,有个结论就是 a 一加 a 二加 a 三,一直加到 a n, 对吧?这个呢,是有的,教材上有这个 结论。不是啊,这个教材没有你需要会推怎么推的?例也向阳销。第四个基数项的和是多少? a 一加 a 三一直加 a 五一直加到多少啊?加到 a n 吧, n 是基数,然后第五个 a 二加 a 四加 a 六,一直加到多少?因为偶数的时候是什么?然后呢?第六个就应该是下面的 a, 一方加上一个 a, 二方一直加到一个 a, 三方加到一个 an 的平方等于多少? 自己会推,不要背啊,不要推啊,不要背,自己推。然后第七个是什么呢?稍微有点难,我刚才告诉你那个结论了,但是呢,我们给你推倒有点麻烦啊,你自己想推倒的自己去推,一推就是 a 乘 a 二, a 二乘 a 三,我看很多模拟题也考过了, a n 乘以个 a n 加一,它等于什么呢?它需要分计偶, 他推倒的时候也是分机油。 ok, 你会这么多,足以足够了,足够了啊, ok, 我们今天就给大家讲的这一个小问题,你们看看还有什么没没听懂的好, 没听懂的你们可以问一下啊,回答一下你们的问题。都听懂了吗?都听懂了吗? 再看一下面积,面积的话,就是相差一个四分之派。四分之派啊,看到了吧,这就是扇形的面积,都是四分之一个圆的面积。 对,你最好是去读一读,看一看我刚才给你讲的这些推导过程,都能接受吗?到时候呢,我把笔记发给主教老师,你们再问一问,有问题就提。今天就讲这一个问题,这一个问题就涉及到很多很多小细节, 特征根能再解释一下吗?好,特征根方程我建议你啊,你就直接记下来啊,我给大家写一写,因为这个特征根方程他不是特别好理解啊。给大家说一个,说啊,特征根方程你会这么几个就可以了。第一个 a n 加一等于个 p 倍的 a n 加上一个 q p 不等于教材的原话。这第一个啊,它叫一节特征根方程。一节特征根方程这时候是什么呢?把 a n 和 n 加一都改成 x, 这是高等数学里边儿讲的, 把 a n 和 n 加一改成 x, 就能算出 x 来,等于一个一减 p 分之 q, 然后呢?这时候呢?结论是什么呢? a n 减去一个 x, 它构成一个等比, 构成一个等比数列,这叫一节特征根。方程它几乎是百分之百考的, 因为它是最简单的。当然我们考试的时候,做的时候,你就不用想特征跟方程了,对吧?就是 a n, 它不是等比数列,但是 a n 减去一个数,是等比数列。明白,这是第一个,第二个特征跟方程,我感觉会考啊, 就这个我感觉会考啊,我感觉会考啊,因为现在构造数列啊,是越来越重要了,就这种 形式,分式的形式,你这时候怎么办呢?把 a n 和 n 加一都改成 x, 这就是一个二次函数,看到了, 你把它乘过去之后,它是一个二次函数,那么它是一个二次函数,它的根呢?就有三种情况。第一,有两个不等的根, 这是需要记下来的啊。然后呢,如果有两个不等的根,那么他谁在上谁在下无所谓,他一定成等比数列,他一定是成等比数列的。如果这两有两个相等的根, 我在教材前全深挖,教材里边都讲了,教材上全都出现了,深挖一下都出现了,教材深挖全都讲解了,你们好好去听。有两个相等的根,我们记着什么呢? x 零, 那么这时候 a n 减去 x 零分之一,它构造成一个等比数列。第三个就是如果无根,这时候考什么呢? 如果无根的话,这是必考的了。二零一四年全国一文科十六题,这时候就有周期数列, an 为周期数列, 周期是几,你自己去找规律。然后第三个呢,就是我们今天讲的啊,就是二节特能音方程,就是这个样子的, an 加二等于个 p 倍的 an 加一加上一个 q, 你会这三个就够了,其他都不需要会。这时候呢,把它写成 x 方,把它写成 x, 把它写成 q, 这时候呢,它有两根。第一种情况,如果有两个不等的根,它的通讲公式一定是一个常 数,这个长数呢,是一个系数,需要带 a 一和 a 二去求一求。当然菲莫纳系数列就是这么推出来的。如果呢,是两个相等的根,我们记住 x 零,它的通选公式都是这样的, 对吧?然后这辆是 x 零的 n 次方,然后呢,如果是无根,它是有周期性的,这个也好, 没有根他就有虚根,虚根呢,他就会循环高等数学下册,然后微分方程,差分方程。那你要讲的就能就讲这些东西啊, 所以我建议需要余力的同学去研究一下这些东西,现在考试他都是有可能考到的,好吧。对,好好好, 没有问题,我就说那么多,给你们解答一下疑问,再看一下七七那个公式啊,七啊,就在这。呃,在哪呢?在这。 嗯,后面是吧?对,七,在这呢,就是相邻两项之际的核,你们自己想办法去推导一下。其实也不难啊,他就是一个中间都消掉了,肯定得消, 所以因为基数的时候是 n 加一的平方,因为偶数的时候是 an 乘以 n 加二。明白,所以呢,你被会这七个分布,那些数列绝对都都会了。 然后过完年之后,全国各地的模拟考试题几乎都会考这个,考这个点几乎啊,一个是因为模拟题呢,它并不代表一 代表高考啊。不一定啊,对,不好意思说错一句话啊,并不代表考试就是。呃,但是模拟题这个地方确确实实都会考的啊,都会考的。好,你今天就讲到这七条,你把这七条给我弄会就可以了。 好吧,我为什么给你写出这个结论来?就是不用记,不用使劲背,你自己去推导一下就可以了, ok 吧,你自己去推导一下,你看我怎么推的,刚才那就够了,你不用背啊,千万别背你比如 好,不用说了吧。啊,你听一听就可以了,对吧?第一个相邻两,把这个 a n 写成相邻两个之差,所以 a 一啊, a 一呢,就应该等于个 a 三减 a 二, a 二呢,就应该是 a 四减 a 三, 巴拉巴拉都约掉了,所以等于个 a 加二减 a 二,所以他是错误的吧,对不对?然后呢?呃, c 选项基数项的和把这个 a 一写上 a 二,那 a 二加 a 三, a 四, a 四加 a 五, a 六, a 七, a n 加一,就这么弱智, 这 c 选项就这么简单吗?所以 c 选项是正确的,对不对? d 选项正确的。然后呢? n 为偶数的时候,这个 n 为偶数的时候。我这样写有点不明白,我再给你串一遍啊。这个地方最好是重新写一行, 就是加一个数,减去一个数,这一步凑很很重要。就是 a 二加 a 四加 a 六,一直加到 a n, 他等于多加个 a 一,为什么加个 a 一呢?因为 a 一加 a 二正好等于 a 三正好,连锁反应全都抵消掉了。然后 后呢,这就是 c 选项, d 选项呢,就是那个矩形的面积特别好背,第一个矩形的面,第一个正方形的面积加第二个正方形的面积,就矩形的面积加,第三个正方形的面积是矩形的面积,所以它等于个 an 乘以个 n 加一, 对不对?然后呢,还有一个这个公式,刚才给大家说了,就是这个公式呢,不太好记忆啊,这个考难的,可能会这么考,那你就够了,会这么多就够了。好吧,好,你学会了吗?学会的同学 w, 所以大家喜欢学数学,我觉得挺好的,一定要对数学有兴趣,你看看这个数学多么的 多么的举啊。啊,其实在我们数学上很多很多这样的东西。就是啊,有的时候感觉到 不可思议,为什么?你看包括花段啊,那个花瓣的个数,刚才给大家说过了,很多花的花瓣的个数,他就是分不那些数 啊,都是什么三呀,五呀,八呀,对不对?十几啊,都是,都是这样的,明白吧?所以真的是特别神秘啊,特别神奇。 ok, 好呃,没有问题,我就讲那么多,今天就讲了一个小问题,你回去推导一下就够了啊,各位同学。 goodbye。

大家好,我是图林学院的韩飞,本期视频呢,给大家分享算法匪布垃圾数列, 这个,呃,算法的这道题的一个含义呢,就是求取了这个菲博垃圾数列第 n 位的一个值,这个菲博垃圾数列呢,在数学中是一个很 出名的一个啊,数列啊,应该都知道,这个数列的一个特征呢,就是除了第一位跟第二位之外啊,这两位呢,是固定的值,是固定的值,零跟一,那么从第二位开始, 那么从第二位开始,每一位了,他的值都等于了前面两位的一个和,比如说这个一对吧,这个一等于了前面两位的零加一, 然后这个二呢,就等于了前面的这个一加一对吧,就是每一位都等于前面两位数字之和,那么这个就是菲博拉奇数列,那么这个数列啊,这道算法题求的是第 n 位的一个值, 也就说,比如说我现在呢,要求这个八,后面这一位啊,零一二三四五六,那么我要求第七位,这个北部垃圾数啊,这个是多少?那我们现在呢,肯定知道是由这个八加五,对不对?八加五, 那么我们哎,如果要求取第 n 位的话怎么办呢?这个 n 啊,比如说这个 n, 比如说是二十,是三十,那么我们怎么样知道这个值是多少呢?首先呢, 我们同样的啊,采用了最简单的这种暴力解法啊,来解这道题,看到采用暴力解法应该怎么样去解啊?那么首先我们拿到一个二十,拿到一个三十,怎么样去解这道题呢?很明显,这个二十了,肯定是等于了下标十八的啊,这位数字加上呢下标十九的这一位数字,就 得到了这个下边为二十的这一位数字,对不对?那么下边为十八,下边为十九的这两位数字,我们知不知道了?也不知道。 那么十八了,我们只能把它拆成十七跟十六,对不对?十九了,也只能把它拆成了十八跟十七,因为这些数字我们都不知道,只能一直向下递归,直到了递归到这两位了确定的数字,也就说,哎,这个数列的第零位还是零,对不对?第一位是一,只有这两个数字是,我们是,呃, 这个匪布垃圾数列里面啊,这两个数字是我们已知的这个也是这个数列的一个定义啊,前两位是一个固定的零跟一,也就说了,我们要一直了找到这个零跟一,然后呢,才能够求取出这里面的每一个值啊,我们通过一张简单的一张图了来理解这么一个过程啊, 就是我们的这个啊,暴力地规,那么这个暴力地规啊,比如说我呢,要地规这个十这个数字,对吧?这个十呢,是由九跟八组成的,而九呢跟八,呃,由八跟七组成,只是这些 值了,我都不知道啊,这些值了,都不知道对不对?都是问号啊,都是问号。那么直至地归到什么地方呢?直至地归到一跟零的时候,我才知道,这个一呢,还等于一对不对?零的位置呢,等于零啊,当然这边呢,每一个数字都要呢都要向下地归啊,那因为这个地归的过程实际上是一样的,对,所以呢,直接省略号代替啊, 直至找到第一跟零的这个下标为止,那么呢,就可以,哎,一个一个往上,把这些问号呢替换成真正的值,对不对?比如说我这里找到哎,那么一等于一,那么零等于零,那么那么二呢,也就等于一,对不对,那么再往上那么三呢,他就等于二 啊,所以说呢,这个地规的过程呢,是从这个哎,在我们这个阿扎树里面啊,从这个根结点一直向下找,直至找到这个叶子结点,叶子结点的意思就是有直的结点啊,我们真正知道直的结点,也就是说真正的要找到这个一根零,这两个叶 叶子节点,我们知道固定值的,找到这两个节点之后呢,找到叶子节点呢,然后向上再进行便利,对不对?就是向下啊,进行呢寻找,对吧?寻找到叶子节点,找到叶子节点之后呢,根据叶子节点呢,然后向上进行便利,一个一个的把这些问号呢,把它解出来, 这个就是暴力地龟的一个过程,那么这个暴力地龟他的这个代码呢,写起来呢,也是比较简单的, 我们呢?哎,如果明白了这个过程的话,我们简单的来写一下这个暴力地灰啊,那么在这个绯闻垃圾数列里面前面呢,因为有两个值,他是固定的啊,这两个固定值了,我们得把他的哎,先把这两个固定值,把他的哎写出来啊,就是这个 number 如果是等于零的话,我们呢就要返回为零,对不对? 你看零啊,也就说你如果传出的这个 number 这个数字如果是零的话,我直接给你返回零就可以了,因为它是一个固定值啊, 那么如果为一的话呢,我就固定了返回为一啊,首先这两个固定值我们是必须要把它给写出来的,那么再往后呢,实际上我们就可以开始进行这个地规,对不对?地规的话,其实就是掉本方法啊,直接呢通过这个哎卡 q 类弹,然后呢通过这个啊 number, 对吧?这个 number 减呢一啊,加上了他,加上这个 cut you 类的,传入了这个 number 减二,也就是他前面两个数字之和嘛,前面两个数字之和啊,那么其实这个这 curque 类的 number 减一啊,跟 number 减二,就是他的这个 number 的前两位数字之和。那么为什么通过这种 地规能够找到这个值呢?实际上这个兰博减一呢,他后面也会进行地规,对不对?他会变成这个兰博呢?减三跟呢?兰博减二,对不对?然后这个兰博减三呢,他又会向下 地归,直至地归到什么?直至地归到一跟零,直至地归到一跟零,那么也就是说,哎,这里呢,有确定的值返回了,有确定的值返回了之后,那么呢就向上了,把每一个地规的这个值了给求出来,直至求到这个零跟一,对吧,最终呢求出 这个拉磨的值。那么这个是一个暴力地位的一个过程啊,这个暴力地位呢,其实比较简单啊,但是这个菲波垃圾数列本身呢,他的这个呃难度呢,也不高,但是在这里边呢,我们可以啊,就是发现很多的这个算法的一个思维在里面啊, 我们这里的简单的先呢来测试一下,比如说我们测第啊十个数字,看一下他的这个值是多少啊?我们这边呢,通过这个 ppt 啊,我们也可以猜测一下,这个第十位呢应该是多少?零一二三四五六,对不对?这八呢是第六位,那么第七位呢?应该是,呃,十三,对不对?那么再往后呢?第八位呢就是二十一, 再往后呢就是三十三,那么第十位呢?应该就是,呃,第十位应该是五十四,对不对?应该是五十四啊?那我们来看看一下这个值了,他是不是五十四? 好,这边呢?结果呢?哎,已经运行出来了,哎。五十五啊,前面加错了吗?看一下啊。呃,二, 然后呢是三五八,这个呢十三啊?十三,然后是二十一,然后呢?呃,是三十四啊,三十四啊?五十五啊?是五十五,没错,是五十五啊,那么这个就是啊暴力算吧, 但这个暴力算法呢,其实在这个暴力算法之上呢,其实我们是可以进行一个优化的,可以进行优化啊,那么他的优化空间在哪呢?同样的我们呢来回到这张图,回到这张图啊,这里面呢,我们会发发现一个问题,这里边呢其实有很多的重复计算,比如说我 这个兰博等于兰博二,这个问号我已经计算了一次,对不对?一加零啊,我已经知道他等于一了,你后面这个兰博二你还有必要去计算吗?实际上没有必要去计算啊,那么我们先呢简单的来看一下这个暴力地规,他的这个时间复杂度啊,然后呢怎么样 来降低这个时间复杂度啊?那么他这个时间复杂度?我们知道,其实呢,这里面每一个数字都要进行两项和每一个数 都要进行两项核对,不对?其实这里面呢就签收到这个二差数的节点数,那么二差数第一个节点呢?比如说为零啊,啊,为一,对吧?为一,那么第二个节点呢?其实是了二的一字方,第一个节点我们会把它焊成二的零字方, 在下面呢,其实就是二的二次方,对不对?再往后呢就是二的三次方一直往下,所以说我们知道这个暴力算法,他的这个时间复杂度其实是二的 n 次方,二的 n 次方,对不对啊?那么在我们这个算法的这个 解析的这个过程中,我们会发现呢,这里面呢,其实呢,哎,每一个地规,这里面每一个地规实际上都是二的 n 次方,所以说他的这个时间股达度是指数级的。 而我们刚刚发现的这里面其实有很多重复的计算,比如说这里面的重复计算,对不对?重复计算啊?那么这个兰博尔其实他出现了很多次,对不对? 包括这里这个 number 八其实他也出现了啊,在这里其实也出现了,对不对? number 七其实在这里也出现了,那么比如说我在这个地方把 number 八已经计算出来了,你这边这个 number 八还有必要去计算吗?没有必要了,对不对?那也就说这整颗的以这个 number 八为根结点,是整颗指数,我们可以直接不用计算,那么不用计算的话,那我怎么知道 这个浪宝石了?那么这个浪宝石我在获取到浪宝九的时候,我还要浪宝八呀,这个浪宝八呢,就在这边已经计算出来了,所以说呢,我们可以提前的把这个浪宝八呢把它存储起来,那么我后面再需要用到这个浪宝八的时, 我可以到这个存储的这个地方呢,去看一下有没有这个烂粑粑,有的话呢,直接把它取出来就可以了,对不对?没有必要了,再向下地归了啊,没有必要再向下地归,那么 这个就是所谓的这个去虫地灰啊,也就是第二张图,那么这个去虫地灰我们来看一下啊,这里面呢颜色相同的,其实意味着它就是同一个值,对不对?同一个值啊,没有必要了,直接在没有必要再向下去地灰去计算,而只需要了,哎,把这左边的啊就是一条线下来到这里为止就可以了, 其实只需要把这条线计算出来就可以了,至于你其他的其他的右边的这一坨指数了,每一个节点其实都可以在这条线里面找到一个相应的节点,对不对? 所以说呢,这里面呢有存在大量的重复,那我们可以来直接把这个重复部分把它去掉,这个重复部分呢,没有必要了,还按照这边的这个地规的方法去求解。 直接呢把这边每一个节点的直了,把它存起来,存起来之后这右边指数的直了,直接到这个集合里面去找就可以了。那么这个去重递归他的这个代码又要又该怎么写了, 哎,同样的啊,把这个离了,呃,我们把它呃拷贝一份啊,拷贝一份,看这个驱虫地龟这个代码了应该怎么样来实现? 好把,这里的我们先把这个啊,当然这个零跟一的这个位置,其实呢我们不用管对不对零跟一的位置,因为呢他都是固定值啊,这里呢我们就叫呃,他 q 类的二啊,他 q 类的二,那么这里呢?我们,哎,此时呢,我们要保存值,对不对?要来保存值啊,保存的话,那么这个东西我们保存在什么地方呢? 这里呢,我会给一个数组,因为这个斐活垃圾数列本身是一个数组,对不对?本身呢,他就是一个数组啊,可以看到就是一个数列,对不对?一个数列, 那么其实呢,他有下标,对不对?零一二啊,三,实际上有下标有值,那么就很容易想到数组用数组来存啊,而数组呢,他不会占用太多的这个空间,对不对?跟我们这个数呢,他的下标位置是相当于的啊,所以说呢,我们可以直接呢采用一个数组来存储,在这里要先呢,我们在这里要先建一个硬的型的数组, 垃圾数列里边啊,都是硬的型的这个数字啊,我们不考虑超标的问题啊,就是越界啊,如果越界了的话,可能需要一个弄类型的速度,对不对?那我们先不考虑这种场景,那么呢直接呢给他一个 啊硬的类型的速度,那么这个硬的类型的速度的长度呢?明显的就是一个浪宝加一,对不对?浪宝加一啊,因为斐泊垃圾数列从零开始,从零开始,我们这一段直接浪宝加一就可以了,那么哎,我们此时那么怎么样来计算这道题呢?其实呢,我们还是了需要地规还是需要地 地位啊?因为我们,哎,刚刚看到这张图,我们也知道,我们只不过是呢,可以减少这个减少这个地规的次数而已,只不过是减少地规的次数本身呢,这个据从地规呢还是一个地规的过程,所以说呢,我们在这里呢,我们也需要一个地规的过程啊, 那么这个地规怎么样去地规了?我们在这边呢,哎,再单独写一个,呃,这个地规的方法啊,单独写一个 bread 的方法, bread it, 然后呢 stay till 这个地规的方法呢,我们通过地规把这个最重的值计算出来,所以说这个值呢,也是 intel, 那么这里呢,我们再写一个,呃, 维卡斯啊,维卡斯这个也是也是地规啊,那么呢,在这边,那么这个地规呢,我们肯定也需要两个参数,这个参数呢,第一个是这个集合本身,对不对?因为我们要把这个翡翠垃圾数列每一个下标的位置呢的值啊,把它记录在这 数组里边,所以说呢,这个数组我们肯定是需要的把这个数组呢给传入进来,哎呀, 那么除了这个数组之外,我们还要一个下标,对不对?这个 lumber 本身就是下标啊,所以说这个下标呢也需要传进来啊,我们在这个地规里边,我们就需要了把这个 lumber 对应的这个值了,把它存在这个数组里面啊,存在数组里面。那么同样的啊,前边这两步判断,我们也需要把它呢挪到这里边来, 为什么呢?因为这个蓝宝要是等于零的话,你直接返回零就可以了,对不对?如果蓝宝是一了,直接返回唯一,所以说这两步也需要他放到这个地规的这一个步骤里面来啊。好,那么如果把前面两步要是求取出来了,那么首先呢,我们要默认这个数字里面已经有值了, 就是我们默认的这个速度里边已经呢存储了对应的这个匪拨拉器的这个值,那么此时我们应该怎么做呢?也就说我们拿一个衣服换 啊,那么如果说这个数组里边啊已经有值了,因为我们在定位的过程中,这里边极有可能呢这个 lucky 值了,已经计算出来了,对不对?就我传入说的这个 lumber, 极有可能在我这个数数组里面已经有, 如果有的话,我们呢只要判断一下他不等于零就已经有值,对不对?因为我们在初始化这个数组的时候,一个硬的型的数组里面的每一位值呢,他默认都是零,对不对?如果他不等于零呢,意味着他已经呢被修改了,因为我们啊零的位置为零呢,我们已经呢把它判断过了,所以说后面的他都不可能为零,对不对? 只要只要经过了这两步计算,后面呢都是不可能为零的,所以说我们如果判断它不为零呢,那么直接呢返回这个数组对应的这个下标的啊,数组下标对应的这个值就可以了啊,就是这个 log 将这个值返回就可以了,那么但是呢,我们此时呢还是要来一个这个地规的 过程,对不对?那么什么时候需要地规了?也就是我们前面这个零跟一这两个值我怎么得到了?开始的时候我是得不到这两个值的,因为我是从根结点开始地规,对不对?这个 number 是一个根结点啊,根结点进行地规,那么此时呢,其实我们只需要呢实现我们之前暴力地规的啊,这么两个 这个公式啊,其实就是一个公式,对不对?把这个公式呢,把它重新写一遍就可以了啊?那么当然这里呢,我们要换成这个我们本身的这个地规的方法啊,这里边呢我们有两个参数,一个是这个 a 啊啊?本身对不对? a 啊啊?这个数图,我们呢还是把它需要把它重新传入后边呢?一样的啊,哎呀, 好,那么这个值了,一样的啊,兰博减一,兰博减二,那么这个是不变的,这个公式本身不变啊,那么球取出来之后取出来的这个值呢?其实就是我们这个 a r 啊,兰博本身对不对? air lamber 好,那么通过这种方式,实际上呢就可以了,把这个 air lamber 这个词求出,求出来啊,那么这里边的每一步啊,每一步,其实 这里呢都是一个地灰,对不对?每一步都是地灰,这里呢跟我们前面的暴力地灰是一样的啊,他呢一定呢是找到这个零,找到这个一为止,然后呢逐逐渐向上解决了这个问号,把这个问号的这个值了,把它求出来,对不对?求出这个问号,然后呢一直向上,一直向上啊,好, 那么为什么通过这样的代码能够起到一个去虫的呃作用呢?就是因为我们有这么一行代码,有这么一行代码在这里, 比如说啊,我这里呢是浪宝减一的时候,我浪宝减一呢,实际上已经会计算这个浪宝减二跟这个了,浪宝减三,对不对?浪宝减三,那么我后边的这个浪宝减二呢?那么我在这里呢?哎,我在这边,在在这一边左边进行定位的时候,其实浪宝减二就已经计算 算出来了,那么我这边的浪宝减二,我还有必要去计算这个浪宝减三跟这个浪宝减四吗?就没有必要,对不对?因为这个浪宝减二我在这里已经判断过了, 此时这个浪博减二已经在左边计算出来了,他就肯定不会为零,所以呢直接把这个浪博减二呢,把它返回啊,就是作为他的一个值就可以了,对不对?作为他的一个值啊,没有必要了再去进行定位啊,所以说通过这个义府啊,这么哎,很核心的这么一行代码,那么就解决了这个聚从的问题啊, 解决去虫的问题,那么了,这个是我们的这个简单的这个地规啊,当然上面呢我们也需要改一下啊,最终呢我们这个,呃呃,这个 去从地规啊,也需要一个返回值啊,那么最终的返回值就是这个速度有下标对应的位置嘛,对,你穿进来这个下标是烂宝,那么返回的就是这个,哎呀,烂宝值啊,好,那么上面呢,当然我们同样的啊,这个地规呢,应该改成这个 vcas, 改成这个, 改成它,然后呢这里边呢同样的传入我们这个 a r r a r r, 然后后面呢是传入这个 love 本身,传入 love 本身,但后面这一节呢就不需要。 好,那么这个就是我们的这个呃,驱虫地位啊,那么驱虫地位呢,我们也简单看,简单的看一下它这个值到底对不对?我们同样要通过这个十了来简单的验证一下,让大家如果,呃就是呃有兴趣的可以多去验证几个值啊,比如说从零开始验证出来,看一下呢,会不会存在这个越界啊,或者是这个,呃, 就是这个速度下边超出的这个问题,对不对?看一下会不会有这个异常啊,转入零啊,或者是一啊,等等啊?好,我们看到这个驱虫地规呢,也是没有问题的,都是五十五啊,那么在此基础上,我们来看一下啊,这个驱虫地规他的这个时间复杂度又是多少了?实际上这个时间复杂度呢,从这张图里边呢,其实就 已经能够说明问题了啊,因为这个我们此时只需要计算这边,对不对?只只需要计算这一边,而这一边呢,我们全部都是都是通过了,哎,我们把它记录在了一个集合里面,就是这个数组全部把这个值记录在了这个数组里边,而这边的值呢,都是在这个数组里边呢,去进行一个查询而已, 所以说他这个时间复杂度了,其实是 on, 对不对? on 啊,主要就是,哎,有左边的,有左边这个呃, 地规的这个过程,地规的这个过程呢,他来决定这个整个算法的一个时间复杂度,而我们在进行这个地规的过程中,每个元素呢,其实只计算了一次,对不对?所以说他时间复杂都是 on, 但是此时呢,他存在存在一个空间复杂度,就是这个数组, 这个数组的这个空间复杂度了,他也是 on, 所以说只是时间复杂度跟空间复杂度都是 on 啊,当然比起我们前边的这个,呃,就是这个暴力算法啊,这个二的 n 字 方,那么来说,针对这个时间复杂度来说,这个时间复杂度呢,已经是 on 了,已经是降低了很多了啊,好,那么这个是所谓的这个驱虫地规啊,驱虫地规, 那么实际上在这个驱虫地规里边,我们还能不能进行进一步的优化呢?其实也是可以的,我们能够把这个空间复杂度可以把它降低,这个空间复杂度啊, on 的这个空间复杂度,为什么说这个 on 这个空间复杂度能降低呢?我们指示了来考虑一个问题啊, 实际上我是要算什么?我是要算第浪博位的一个值,对不对?算这个第 n 位的一个一个匪拨拉器的一个值啊,那么我这个数组里面,实际上我存储了这整个微博拉器每一个下标的值, 实际上我有没有必要存储这个数组啊?这个数组对于我解题来说啊,其实有很多的值都是没有必要的,比如说啊,我此时呢,我是记录我我想 求这个第二个下标的时候,我是用零加一,对不对取求出了这个第二个下标,但这个零跟一本身的值呢?我都把它存在这个数组里边呢,对不对?也就是说,哎,虽然说我这个蓝宝在向下递柜的时候啊,我,我需要递柜到这个位置,但是我把这个蓝宝二呢存在数组里边,好再向上这个蓝宝三呢, 这个兰博啊,这个兰博三这个下标这个位置一样的,他其实呢,他是根据这个兰博二加兰博一了来求出这个兰博三的值,对不对?但是兰博二跟兰博一的值呢?都把它存在这个数组里边了, 让我们考虑一个问题啊,我在算这个烂宝二,把这个烂宝二算完之后,我就算这个烂宝三的时候,我要的是二跟一,这个零还有用吗?零没用了,其实这个零呢,在速度里面呢,我们就可以把它给删掉,对不对?当然再往后我们计算三加二的时候,那么这个一呢,我们也没有用了,其实也可以把它给删 关掉。那么最终其实我们发现呢,我们只需要存两个值就可以了,就是这个三跟这个二对不对?只需要存两个值,其他的值再往前的值呢?其实都是历史数据, 这些例子数据呢,其实我们没有必要把它保存在这里,全部删掉的就可以了,所以说实际上我们只需要保存两个值,保存两个值啊,那么这个怎么来写呢?只是我们就不需要数组了,因为数组保存的值呢,是我们这个匪拨拉器数列的一个 长度,对不对?保存的 n 个数字,实际上我们只需要保存两个数字,保存两个数字就可以了啊,所以说这个呢,其实就是我们所谓的这个双指针算法 啊,那么这个双指针叠带他又是怎么回事呢?直接从零开始,然后呢从零跟一开始,这两个指不是固定的吗?知道他的指对不对?他等于零,他等于一,那么我呢定义两个指针,这两个指针呢就来保存这两个指啊,第一个指针保存零,第二个指针保存一, 然后呢这个蓝宝二呢?我就通过这个两个指针的一个求和啊,取出这个蓝宝二的指,然后呢将这两个指针呢向后进行呢?哎,迭代,然后这个害了,指向这个三对不对?然后这个漏了,指向这个二 啊,就可以了,求出这个,呃,不对啊,不对不对啊啊,这里的写快了啊,应该是这个快乐取向指向这个二,漏了指向这个一,对不对?然后呢就可以了,求出这个 number 三的值,对不对?然后最后再往再往后呢就这个快乐指向 numper 三,这个漏了指向 number 二,此时呢又可以求出这个 number 四的值, 而我这个指针呢,这个指针只是在这里进行更新,所以说我这个指针永远只保存了一个指,对不对?他保存一个指,他保存一个指前边的指了,都不需要了,直接废弃掉就可以了啊。那么这个就是双指针算吧。这个双指针他的这个代码怎么样写我们同样的了, 来来写一下这个双子针算法啊,那么这个双子针算法呢就呃比较的简单了啊,我们直接呢把这个方法呢把它拷贝一下 这个双子针叠带啊,他是一个,因为他是一个叠带啊,所以我们这里直接就叫呃 etary tary 啊, 好,那么他知道我们就不需要数组了,只是我们就不需要数组了,对不对?只需要定义两个指针就可以了啊?定义两个指针,那么这两个指针呢?哎直接定义一个硬的啊,一个 low, 对吧?这个 ow 呢?从零开始,从零开始,然后呢还有一个啊开 开了,从这个一开始,对吧?两个指针啊,一个从零,一个从一,然后呢逐渐的向后呢进行这个啊迭代,那么然后呢就是一个负循环, 破循环啊,然后就是硬特,那么此时哎呢我们就让他了从二开始就可以了,因为零跟一了,我们这两 只是固定的,对不对?直接从二开始进行迭代就可以了啊?好,然后 i 呢?小于这个烂宝,小于烂宝,最后呢?哎,加,加啊,此时呢?哎啊,应该还要等于烂宝啊,因为等于的这个下标在我们这个腿部垃圾数列里面也是存在的啊,那么还要等于,好,那么怎么样来写啊?直接应他 定义一个萨姆,对吧?定义一个萨姆,然后呢把这个漏了,跟这个派,把它加起来,加上这个亥, 那么此时求出了这个上,那么求出来之后呢,我们还需要进行位移,对不对?往后面进行移动,怎么移了?直接把这个害复制给这个漏,对不对?然后开了自己的进行了加就可以了啊,这个害了,直接进行加,变成这个上, 就是我们看到的这张图里面的这个移动的这个效果啊,把这个害,对吧?往后移,移到这个二的位置,二是谁啊?二就是这个上,对不对? 那么哎,漏了就移到这个害原来在的这个位置就可以了,原来在的这个位置,逐逐步,逐步的往后移,直至呢移到最后,直至移到最后啊,好, 那么这里呢,就是直接呢啊,往往右边一位一位的进行移动,好,最后呢返回这个害就行了,对吧?因为这个害了就已经到达了这个上这个位置,那么这个就是双指针叠带啊,那么这个双指针叠带,同样的呢,我们也看一下他的这个结果了,对不对啊? 同样的我们也是呃,十啊,看第十位的这个下标,是不是呢?五十五啊,所以说呢,这个双指针迭代,那么他的这个时间复杂度啊, 那么我们其实从这张图里面同样能看出来啊,结果是五十五没问题,对吧?从这张图里面,我们会很快的能够求出他这个时间复杂度,对吧?其实就是往后便利一次嘛,把这个整个数列便利一次,那么他这个时间复杂度其 其实就是 o n, 就是 o n 啊,指向辅导是 o n, 空间复杂度了,空间复杂度其实没有,其实呢就是 o 一啊,因为呢,我们就用了两个固定的一个指针,两个固定的指针,这个指针其实只保存一个指,并不会随着 我们的这个竖列的长度增长了,保存这个空间复杂度了,他也不会增加,他永远只保存两个指,所以说他的空间复杂度也是 o 一啊,是 o 一啊,因此呢,这个就是这个双子绳结代,所以我们会发现啊,在这三种算法里边啊,三种算法,对吧?就是有,呃 啊,首先呢是这个啊,暴力地位,对吧?暴力地位,然后第二种呢是这个驱虫地位,驱虫地位,然后接着呢,再到这个双指针迭代啊,那么这个时间复杂度,最终呢,可以将它定格在,定格在这个 on, 对吧?定格在 on, 然后空间复杂度呢,能够把它压缩到这个 oe 的空间复杂度啊,那么以上呢,就是这个匪拨垃圾狩猎的三种 结法,我们其实能够看到这三种结法本身呢,并不复杂,但是在这里面呢,涉及到了很多的这种算法思想啊,一个就是这个很核心的,这个双子针在很多的算法里面都会有用到 双指针呢,有的可能是前后指针,有的可能是左右指针,有的可能是快慢指针啊,那么都不一样,那么具体问题呢,我们要具体去分析, 总之双子针其实就是两个变量去保存两个值,然后呢根据这两个变量呢不断的去修改他的他的值啊,其实这这个就是我们迭代里面的一个概念,就是个状态位,就是相当于两个状态, 不断的去更改这两个状态,直至这两个状态呢,到达这个最终的状态,对不对?到达最终的这个状态,那么最后呢这个问题就解决了,这个其实就是迭代的思想,对不对?好,那么再往上呢就是我们这个驱虫迭代啊,驱虫地龟啊,那么这个驱虫地龟实际上是建立在这个地龟的这个思维之上的,建立在地龟的思想之上,那么这个地龟呢,实际上就是把这个 问题了,对吧?我们把这个问题了哎进行拆分,拆分成一个一个的子问题,拆分成一个一个的子问题,然后把这每一个 子问题呢进行解决,然后呢最终呢使这个最大的这个问题呢把它解决掉,对吧?所以说这个就是我们的这个啊,地规啊,地规,那么后面的这个驱虫地规呢,其实主要是 基于了基于前面这个暴力地位来进行的一个驱虫的一个思想啊,就是我们额外的建一个数组,对吧?把这些值存在这里,避免的重复,对吧?在这里建一个数组啊,建一个数组,通过这种把这个已经计算出来的值保存在这个数组里边,那么后面呢先到这个数组里面去查一下,看有没有值,有值我就不需要再 地灰了,从而呢减少这个地灰的次数啊,那么这种呢?哎,我们可以把这个速度简单的理解为一种,一种备忘录,对不对?一种备忘录啊,当我发现某个字我不知道的时候,先到备忘录里面去找,在备忘录里面找不到我才按 按照我的暴力解法去解,能够找到,那么我就不走这个暴力解法啊,此由此呢,减少这个算法的一个时间复杂度啊。好,那么以上呢,就是这个匪拨垃圾数列里边的这个啊,三种算法。
