完全背包解一个数的完全平方
Posted 奋斗中的小蜗牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了完全背包解一个数的完全平方相关的知识,希望对你有一定的参考价值。
class Solution { private int w[]; private int dp[]; public int numSquares(int n) { w=new int[(int) (Math.sqrt(n)+1)]; dp=new int[n+1]; for(int i=1;i<=Math.sqrt(n);++i) { w[i]=i*i; } for(int i=1;i<w.length;++i) { for(int j=w[i];j<=n;++j) { if(j==w[i]) { dp[j]=1; }else { if(dp[j-w[i]]!=0) { if(dp[j]==0) { dp[j]=dp[j-w[i]]+1; }else { dp[j]=Math.min(dp[j], dp[j-w[i]]+1); } } } } } return dp[n]; } }
以上是关于完全背包解一个数的完全平方的主要内容,如果未能解决你的问题,请参考以下文章