class Solution{
public:
int numSquares(int n){
queue<int> q;
vector<int> dist(n + 1,INT_MAX);
q.push(0);
dist[0] = 0;
while(q.size())
{
int t = q.front();
q.pop();
if(t == n) return dist[t];
for(int i = 1;i * i + t <= n;i++)
{
int j = t + i * i;
if(dist[j] > dist[t] + 1)
{
dist[j] = dist[t] + 1;
q.push(j);
}
}
}
return 0;
}
};
leetcode279完全平方数
最新推荐文章于 2022-12-16 20:41:25 发布