leetcode題 279 完全平方數(中等)

2021-09-26 14:56:38 字數 608 閱讀 8725

一、題目描述:279. 完全平方數(中等)

給定正整數 n,找到若干個完全平方數(比如 1, 4, 9, 16, ...)使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。

示例 1:

輸入: n = 12

輸出: 3 

解釋: 12 = 4 + 4 + 4.

示例 2:

輸入: n = 13

輸出: 2

解釋: 13 = 4 + 9.

二、解題思路

動態規劃。

動態陣列dp[i]表示數字i最少由多少個平方數相加而成,由於存在1其實最多個數是i個,可以初始化為dp[i] = i。(我本身初始化未-1)

動態方程,當j*j < i時,dp[i] = min(dp[i-j*j] + 1,dp[i]) (1<=j三、**

class solution 

if(dp[i] == -1 && dp[i-sqr] != -1)

else if(dp[i] != 1 && dp[i-sqr] != -1)}}

return dp[n];

}};

279 Perfect Squares完全平方數

given a positive integer n,find the least number of perfect square numbers for example,1,4,9,16,which sum to n.example 1 input n 12 output 3 explanati...

Leetcode 279 完全平方數

給定正整數 n,找到若干個完全平方數 比如1,4,9,16,使得它們的和等於n。你需要讓組成和的完全平方數的個數最少。示例 1 輸入 n 12輸出 3解釋 12 4 4 4.示例 2 輸入 n 13輸出 2解釋 13 4 9.解題思路 比較容易想到的方法是bfs 廣度優先搜尋 如果知道四平方和的話就...

LeetCode 279 完全平方數

題目描述 提示幫助 提交記錄社群討論閱讀解答 隨機一題 給定正整數 n,找到若干個完全平方數 比如1,4,9,16,使得它們的和等於n。你需要讓組成和的完全平方數的個數最少。示例 1 輸入 n 12輸出 3解釋 12 4 4 4.示例 2 輸入 n 13輸出 2解釋 13 4 9.class sol...