算法思路借鉴于官方题解,添加了详细注释用于理解,刷题打卡
第一种思路是动态规划,也是我看到这道题的第一时间考虑到的解法,但是当时想的是记录每个步数最多能输出多少A,考虑了一会发现想歪了,题目求的是最少以及“恰好”,最多步数明显不是正确解,看了眼题解发现自己相反了T_T,思路对了代码就很好写了~
class Solution
{
public:
int minSteps(int n)
{
//动态规划,状态定义为每个数字需要的最少步数
vector<int> dp(n + 1);
dp[1] = 0;