比如说2为2次才能得到,那么4需要4次,6需要5次,8需要6次。
class Solution {
public int minSteps(int n) {
if(n==1)return 0;
int[]dp= new int[n];
for (int i = 0; i < n; i++) {
dp[i] = i+1;
}
for (int i=1;i<n;i++){
for (int j=2;j<=n/(i+1);j++) {
dp[(i+1)*j-1] = Math.min(dp[i]+j,dp[(i+1)*j-1]);
}
}
return dp[n-1];
}
}
本文介绍了一种求解特定整数所需的最小操作次数的算法。通过动态规划的方法,实现了一个名为 minSteps 的函数,该函数接收一个整数 n 作为参数,并返回达到 n 所需的最少操作次数。
1893

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



