DP

LC279. Perfect Squares
Input: n = 13
Output: 2
Explanation: 13 = 4 + 9.

 public int numSquares(int n) {
        int[] dp = new int[n+1];
        Arrays.fill(dp, Integer.MAX_VALUE);
        for (int i = 0; i * i <= n; i++){
            dp[i*i] = 1;
        }
        for (int i = 0; i <= n; i++){
            for (int j = 1; j*j <= i; j++){
                dp[i] = Math.min(dp[i], dp[i - j * j] + 1);
            }
        }
        return dp[n];
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 你小看我,走路慢 忘性大,欲望小 但我的眼睛圆,常把手杖 当槍 像打鬼子一样!
    胥勋和阅读 1,794评论 0 0
  • 文 by 荔枝少女 一晃眼,两天的周末过去了。 早上南宫大人送我上地铁,我像个小学生背着书包上学那样,过了安检四...
    荔枝小梦阅读 3,947评论 0 3
  • 不要用成绩的好坏决定对孩子冷或热因为这样不仅会让孩子失去信心还会失去对家的眷恋 家本是让孩子在风浪之中感到心安的最...
    何四金mile阅读 3,047评论 0 1
  • 问不到你的联系方式 好久见不到你 你还好吗
    之愁阅读 1,209评论 0 0