网站开发技术课程报告,静态网站有哪些优点,做网站什么硬盘好,大数据营销教材思路#xff1a; 还是比较好想的#xff0c;g[i]定义为和为 i 的完全平方数的最少数量。那么递推关系式是g[i]min(g[i-1],g[i-4],g[i-9],...)1#xff0c;数组初始化是g[0]0,g[1]1。注意这里要对g[0]初始化#xff0c;#xff08;举个例子#xff09;因为在遍历到g[4]时 还是比较好想的g[i]定义为和为 i 的完全平方数的最少数量。那么递推关系式是g[i]min(g[i-1],g[i-4],g[i-9],...)1数组初始化是g[0]0,g[1]1。注意这里要对g[0]初始化举个例子因为在遍历到g[4]时g[4]min(g[4-1],g[4-4])1。 代码
C
class Solution {
public:int numSquares(int n) {vectorint g(n1,0x3f3f3f3f);g[0]0,g[1]1;for(int i2;in;i){for(int j1;i-j*j0;j){int tempj*j;g[i]min(g[i],g[i-temp]1);}}return g[n];}
};
Python
class Solution:def numSquares(self, n: int) - int:g[0x3f3f3f3f]*(n1)g[0]0g[1]1for i in range(2,n1):j1while i-j*j0:tempj*jg[i]min(g[i],g[i-temp]1)j1return g[n]