国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

279. Perfect Squares -Medium

2019-11-10 20:18:25
字體:
來源:轉載
供稿:網友

Question

Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, …) which sum to n.

給出一個正整數n,找到相加得到n的最少個數的完全平方數字(比如1, 4, 9, 16)

Example

For example, given n = 12, return 3 because 12 = 4 + 4 + 4; given n = 13, return 2 because 13 = 4 + 9.

Solution

動態規劃解。這種類型的題目已經接觸很多了,比較加上每個完全平方數字得到的個數,取最小的那個就可以了。定義dp[i]:相加得到i的最少個數的完全平方數字,遞推式:dp[i] = min(dp[i], dp[i - square_number]) (square_number < i)

class Solution(object): def numSquares(self, n): """ :type n: int :rtype: int """ dp = [0] + [n + 1] * n for i in range(1, n + 1): index = 1 square_number = 1 while square_number <= i: dp[i] = min(dp[i - square_number] + 1, dp[i]) index += 1 square_number = pow(index, 2) return dp[n]
上一篇:SpeechSynthesizer 讀取文字

下一篇:二叉樹

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云林县| 水城县| 靖江市| 博罗县| 永德县| 岗巴县| 邵东县| 利辛县| 马关县| 陆河县| 富阳市| 永春县| 政和县| 页游| 科尔| 壤塘县| 德州市| 新郑市| 桂林市| 娱乐| 屯昌县| 蒙山县| 平度市| 长兴县| 台中市| 当涂县| 澎湖县| 临漳县| 阿拉善右旗| 铜川市| 准格尔旗| 绍兴县| 庄河市| 西安市| 济南市| 湟中县| 诸城市| 哈巴河县| 平果县| 黄骅市| 岢岚县|