class Solution {
public:
int minSteps(int n) {
if(n==1) return 0;
int dp[n+1];
for(int i=0;i<=n;i++){
dp[i] = i;
for(int j=1;j<=i/2;j++){
if(i%j == 0){
dp[i] = min(dp[i],dp[j] + i/j);
}
}
}
return dp[n];
}
};
No.72 - LeetCode650
最新推荐文章于 2021-09-16 15:18:24 发布
本文介绍了一个使用C++实现的动态规划算法,旨在解决特定类型的问题,通过最小化步骤来达到目标状态。该算法利用了动态规划的思想,通过预计算的方式优化了递归过程,减少了重复计算,提高了效率。
193

被折叠的 条评论
为什么被折叠?



