亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

您現在的位置是:首頁 > 技術閱讀 >  每日一題:完全平方數

每日一題:完全平方數

時間:2024-02-14

題目279:完全平方數


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

示例1:

輸入: n = 12輸出: 3 解釋: 12 = 4 + 4 + 4.
示例2:
輸入: n = 13輸出: 2解釋: 13 = 4 + 9.
分析

動態規劃問題,我是首先手動列出來前幾個數字的輸入輸出:

輸入 輸出 解釋n=1,  1,    1n=2,  2,    1,1n=3,  3,    1,1,1n=4,  1,    4n=5,  2,    4,1n=6,  3,    4,1,1n=7,  4,    4,1,1,1n=8,  2,    4,4n=9,  1,    9
這里大概就可以看出規律了吧,用dp[i]表示和為i的完全平方和的個數,有
dp[0]=0;dp[i]=min(dp[i-i之前的完全平方和]+1);
代碼:
class Solution {public:    int numSquares(int n) {        vector<int> dp(n+1, INT_MAX);        dp[0] = 0;        for (int i = 1; i <=n; ++i) {            // 使用tem少進行一次乘法運算            for (int j = 1, tem = 0; tem = j * j, tem <= i; ++j) {                 dp[i] = min(dp[i], dp[i-tem] + 1);            }        }        return dp[n];    }};
主站蜘蛛池模板: 郴州市| 如皋市| 察雅县| 九龙县| 长寿区| 彝良县| 五常市| 绵阳市| 东丰县| 临夏县| 旺苍县| 泰安市| 长泰县| 浪卡子县| 宁阳县| 兴业县| 军事| 信宜市| 海安县| 芦山县| 淳安县| 壶关县| 福建省| 兴仁县| 庆阳市| 栾城县| 峡江县| 慈利县| 调兵山市| 罗源县| 甘谷县| 阳谷县| 太康县| 浦东新区| 廊坊市| 博罗县| 太保市| 丁青县| 桃园县| 开平市| 靖西县|