跳台阶算法简单分析

题目为: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
分析: N级=(N-1)级的情况+(N-2)级的情况。
因为两种情况都可以选择,所以两种情况下的次数相加。

算法1.

最简单的递推实现代码为:

long long Jump(int n)
{if (n == 0) return 0;if (n == 1) return 1;if (n == 2) return 2;return Jump(n - 1) + Jump(n - 2);
}

算法2.

很明显我们可以利用动态规划优化一下,这样可以省去大量的重复计算。

/*
1.最优子结构性质存在
2.重叠子问题存在,子问题的解答记录在count数组中,
*/
long long Jump(int n, long long count[])/*count数组初始值全部设为0*/
{if (n == 0) return 0;if (n == 1) return 1;if (n == 2) return 2;if (count[n] == 0)count[n] = Jump(n - 1, count) + Jump(n - 2, count);elsereturn count[n];return count[n];
}

算法3.

我们如果单纯从代码结构部分分析,这个一个Fibonacci数列,因此代码又可以改变为:

long long Jump(int n)
{long long a = 1, b = 2;long long temp;for (int i = 3; i <= n; i++){temp = a + b;if (i & 1 == 1)a = temp;else b = temp;}return temp;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492762.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我为什么在这里写博客

做了几年的程序员&#xff0c;学了一些技能&#xff0c;电脑里的资料也越来越多&#xff0c;一直没有去梳理。每次看别人的博客&#xff0c;特别是写得好的博客&#xff0c;心里就痒痒的。也希望把自己的东西整理出来&#xff0c;一来可以给自己所学一个交代&#xff0c;二来可…

TensorFlow的基本介绍及Hello,world

转载自&#xff1a; http://www.tensorfly.cn/tfdoc/get_started/basic_usage.html https://blog.csdn.net/sarsscofy/article/details/78541836 ####基本使用&#xff1a; 使用(graph)来表示计算任务在被称之为 会话 (Session) 的上下文 (context) 中执行图.使用 tensor 表示…

中美首份8000字长文解析全球热点脑机接口(重磅干货)

来源&#xff1a;硅谷密探摘要&#xff1a;“我们所想象的一切&#xff0c;都会变为现实。”如果说当今什么技术最接近科幻&#xff0c;那么一定是脑机接口。脑机接口的研究已经实现了意识打字&#xff08;1分钟之内平均输入39个字母&#xff09;&#xff0c;还实现了心灵控制&…

C# WinForm程序退出的方法

1.this.Close(); 只是关闭当前窗口&#xff0c;若不是主窗体的话&#xff0c;是无法退出程序的&#xff0c;另外若有托管线程&#xff08;非主线程&#xff09;&#xff0c;也无法干净地退出&#xff1b; 2.Application.Exit(); 强制所有消息中止&#xff0c;退出所有的窗体…

深度学习-KNN,K近邻算法简介

参考&#xff1a;https://blog.csdn.net/xundh/article/details/73611249 包括算法解释、代码和数据集。 还有&#xff1a;https://blog.csdn.net/dugudaibo/article/details/78304540

一文读懂2019年IT及大数据行业趋势

来源&#xff1a;智慧网点建设运营2018即将过去&#xff0c;今年区块链、5G、芯片、量子计算成为大家不断提及的技术重点&#xff0c;明年大数据科学还会有哪些发展方向&#xff0c;IT行业还有哪些发展趋势&#xff1f;众多机构针对未来产业发展做出预测&#xff0c;小编整理如…

mysql truncate table命令使用总结

truncate使用注意由于上过truncate table a_table命令一次当&#xff0c;将教训记录下来&#xff0c;以示警戒&#xff01;mysql truncate table a_table命令受影响结果说明&#xff0c;亲身体验 命令truncate table a_table;会将执行表中的数据删除&#xff0c;有增长ID值的话…

openMP的简单使用

安装&#xff0c;参考&#xff1a;https://blog.csdn.net/augusdi/article/details/8808226 如图所示&#xff0c;右键工程名->属性->C/C>语言&#xff0c;找到OpenMP支持&#xff0c;更改设置即可。 代码编程&#xff0c;参考&#xff1a;https://blog.csdn.net/zh…

车联网系统会不会只是智能手机系统的翻版?

来源&#xff1a;智能相对论摘要&#xff1a;对于当前大热的车联网技术&#xff0c;各家车企都像“王婆卖瓜”一样夸赞自己&#xff0c;在一片叫好声中&#xff0c;我们需要厘清一个问题&#xff0c;车联网系统到底是不是“另一个”智能手机系统&#xff1f;在BAT集体入局车联网…

mybatis大于小于的转义

今天在写代码时&#xff0c;由于业务&#xff0c;须要在mybatis中&#xff0c;使用到大于号&#xff0c;小于号&#xff0c;所以就在SQL中直接使用了。SELECT * FROM test WHERE 1 1 AND start_date < CURRENT_DATE AND end_date > CURRENT_DATE但是&#xff0c;在运行时…

清华、中科大实现了量子版本的GAN,平均保真度98.8%

作者&#xff1a;Ling Hu等编译&#xff1a;机器之心 刘晓坤、张倩摘要&#xff1a;清华和中科大的研究者在 Science Advances 上发表论文&#xff0c;他们在超导量子电路上实现了第一个生成对抗学习的原理验证&#xff0c;即量子版本的 GAN。实验中生成的单个 qubit 的平均保真…

RMQ求区间最值 nlog(n)

转载于&#xff1a;http://blog.csdn.net/xuzengqiang/article/details/7350465 RMQ算法全称为(Range Minimum/Maximum Query)意思是给你一个长度为n的数组A,求出给定区间的最值的下标。当然我们可以采用枚举&#xff0c;但是我们也可以使用线段树来优化&#xff0c;复杂度为(n…

一个令人心醉的谜题——DNA和RNA是如何演化出美妙的螺旋结构?

来源&#xff1a;原理丨公众号在现代科学中&#xff0c;一直存在一个匪夷所思到令无数科学家心醉的谜题——DNA和RNA究竟是如何演化出这种美妙的螺旋结构的&#xff1f;最近&#xff0c;佐治亚理工学院的一组研究人员在超分子聚合物的形成过程中&#xff0c;发现了一种全然自发…

Jacobi迭代法

我们在求解矩阵时&#xff0c;有很多种方法&#xff0c;其中当矩阵是大型稀疏矩阵&#xff08;矩阵中有大部分元素都为0&#xff09;时&#xff0c;我们可以用迭代法求解。 其中Jacobi迭代法就是很简单易懂的一种。 我编写的C代码如下&#xff0c;其中文件matrix.txt内容如下…

AI人才「用工荒」如何解决?看看这几家顶级公司的应对策略

来源&#xff1a; Forbes编译&#xff1a; 机器之心 太浪在未来几年&#xff0c;人工智能可能会成为众多行业的战略选择&#xff0c;但有一个重大的挑战&#xff1a;招人。如何避免招募 AI 人才的误区&#xff1f;这里有来自几家顶级公司的建议。招到 AI 人才后&#xff0c;可能…

单应矩阵的解释

参考博客&#xff1a; https://www.cnblogs.com/wangguchangqing/p/8287585.html https://blog.csdn.net/jay463261929/article/details/53611363

学习网址积累

ecshop120.com ecshop的学习开发网址 68ecshop 转载于:https://www.cnblogs.com/ymj0906/p/4088749.html

AI芯片混战,谁能挑战英伟达?

来源&#xff1a;forbes我准备写一篇预测未来一年的AI芯片&#xff0c;以及英伟达如何应对挑战的文章&#xff0c;但我很快意识到&#xff0c;文章要比我预期的要长得多。由于有很多内容要介绍&#xff0c;我决定把文章分为3个部分。第1部分&#xff1a;简介&#xff0c;以及分…

webServices 应该支持Get和Post调用,在web.config应该增加以下代码

1 #region Tip:使用说明2 //webServices 应该支持Get和Post调用&#xff0c;在web.config应该增加以下代码3 //<webServices>4 // <protocols>5 // <add name"HttpGet"/>6 // <add nam…

VS2017安装openGL

项目名->管理NuGet程序包->浏览->搜索nupengl&#xff0c;下载安装即可。 参考博客&#xff1a;https://blog.csdn.net/HY_JT/article/details/79482556 还可以参考博客&#xff1a;https://blog.csdn.net/yinglang19941010/article/details/50166343 #include <c…