C++记录(7)(做题的总结归纳)

本文深入探讨了斐波拉契数列的两种实现方式:递归和迭代,并通过具体实例——青蛙跳台阶问题,展示了斐波拉契数列的实际应用。文章对比分析了两种方法的时间复杂度和空间复杂度,为读者提供了算法优化的思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

咕了好久,才继续更新博客,因为这个疫情在家困了好久,没办法去学校了,毕业设计也停滞了有一会,只能写写理论,没更新也是家里看得严不让怎么玩电脑(其实是自己懒233333)

文前老规矩继续放首歌
很喜欢崩坏3竹雀坡的背景音乐
上次是记录到了字符串的部分,本来想继续写基础部分的,但是最近在做题,感觉有好多值得记录的,所以先把基础部分放一放,先记录刷题中遇到的一些题目

斐波拉契数列

斐波拉契数列的实现有好多,我从网上看到的基本分两种,一种是中规中矩使用普通的方法没用时间复杂度和空间复杂度来求,还有一种是用递归,迭代的方式来求,这种方法相对浪费时间和资源,不过我还是偏向于递归迭代,因为感觉要方便很多。

1.一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
int jumpFloor(int number)
{
	if(number == 0 || number == 1 || number == 2)
	{
		return number;
	}
	else 
	{
		return jumpFloor(number - 1 ) + jumpFloor(number -2);
	}
};

另一种不是用迭代的方法

int jumpFloor(int number)
{
	int p1 = 0,p2 = 1,sum = 0;
	if(number == 0)//如果一开始的数为0 的话就没必要继续往下了,返回0;
	{
	return 0;
	}
	else
	{
		for(int idn = 2; idn <=number; ++idn)
		{
			p2 +=p1;//求得第二个数的值
			p1 -+p2;//求得第一个数的值
			sum = p1 +p2;//求和
		}
		return res;
	}
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值