279. Perfect Squares Add to List QuestionEditorial Solution

典型的揹包問題,假設小於n的完全平方數爲Si,那麼dp[n]=min(dp[n-S1],dp[n-S2],…dp[n-Si])+1

class Solution {
public:
	int numSquares(int n) {
		vector<int>dp(n + 1, INT_MAX);
		dp[0]=0;
		dp[1] = 1;
		for (int i = 2; i < n + 1; ++i)
		{
			for (int j = 1; j*j <= i;++j)
			dp[i] = min(dp[i],dp[i - j*j] + 1);
		}
		return dp[n];
	}
};


發佈了40 篇原創文章 · 獲贊 19 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章