每日一道Leetcode - 650. 只有两个键的键盘

在这里插入图片描述

class Solution {
    
    
    public int minSteps(int n) {
    
    
        int[] dp = new int[n+1];
        int h = (int) Math.sqrt(n);
        for(int i =2; i<=n;i++){
    
    
            dp[i]=i;
            for(int j =2;j<=h;j++){
    
    
                if(i%j==0){
    
    
                    dp[i]=dp[j]+dp[i/j];
                    break;
                }
            }
        }
        return dp[n];
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_41041275/article/details/112241641