每日一个小算法题
今天开始每天一个动态规划
题目:青蛙跳楼梯问题,可以跳一个,也可以跳两个。问一共n阶要跳几次。
#include <iostream>
using namespace std;
int jump_count(int n) {
if (n <= 2) return n;
int* dp = new int[n + 1];
dp[0] = 0;
dp[1] = 1;
for (int i = 2; i <= n; i++) {
dp[i] = dp[i - 1] + dp[i - 2];
}
return dp[n];
}
int main() {
int n;
cout << "请输入台阶总数:" << endl;
cin >> n;
n = jump_count(n);
cout << "总共有" << n << "种" << endl;
}
今天写算法遇到的差不多一点问题
1、c++创建长度为n的数组
int* arrName = new int[n]
2、static:静态成员的关键字,不需要new,已经开辟了一块内存空间,直接调用。
3、没有标识符:主函数要写在自定义函数的后面。如果主函数调用了自定义函数的话。
在看动态规划了,明白点就开始刷lc的题了/over
|