news 2026/5/25 14:03:11

12/10到12/11的做题总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
12/10到12/11的做题总结

一,递归的一些方法;

从斐波拉契数列和一个题目得到

1.首先我们要找到递归关系,可用归纳法,最后得到f(n)=f(n-1)+f(n-3)

2.从斐波拉契数列我之前知道4个方法

1,return f(n)=f(n-1)+f(n-2)但这个不好易超时,假如要求f(10),我们要算f(1),f(2)等等;

2.我们思考那我主要记住算过的值不就好了,有以下代码缺点为太麻烦,有些东西太麻烦了,他的想法为将所有值用一个不可能的-1替代,当有值!=-1则代表这个值是被记住的;然后用这个值计算就行了

3.最好的方法,一个思路,一个滑动的思路,诞生有俩种方法,滚动数组和尾递归;

首先滚动数组,思路为,设a,b以及结果a+b,有此思考,下一项则是,原来的a变为b,b为a+b,新结果则为新a+b,代码为尾递归同样滑动的思路,用不到循环了,因为用函数实现了,其思路为一个记录开始值,一个记录运算和要结束的条件你看其核心为绿色代码,上面为判断返回因为n一直递减,执行公式(此题是f(n)=f(n-1)+f(n-3)

要用到三个变量所有比斐波拉契复杂一些,下面函数为主函数接口,为n的前置条件和他的开始值

return cowtail(n - 1, b, c, a + c); 这个重要,而且我们也可以写斐波拉契的

return cowtail(n-1;b;a+b)//新a为原b,新b为原a+b

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 23:24:40

C++设计模式大乱斗:让代码不再“乱炖”(一)

文章目录1. 造人派(创建型)1.1 单例模式(Singleton):朕的江山只有一位!干啥用?核心奥义猫哥上代码猫哥点评1.2 工厂模式(Factory):对象量产流水线&#xff01…

作者头像 李华
网站建设 2026/5/26 5:35:24

【time-rs】time-core 中的 convert.rs 文件详解

概述 这个文件是 time-core crate 中的时间单位转换模块,采用编译时计算的零成本抽象设计。它定义了一系列时间单位类型(如纳秒、微秒等)和它们之间的转换关系。 1. 设计哲学 零成本抽象 编译时计算:所有转换系数在编译时确定无运…

作者头像 李华