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