LeetCode 279.完全平方数
bfs写法,还有四平方定理,那个看不懂
public:
int numSquares(int n) {
vector<bool> vis(n+1,false);
queue<pair<int,int>> q;
q.push(make_pair(n,0));
while(!q.empty())
{
int num=q.front().first;
int step=q.front().second;
q.pop();
for(int i=1;num-i*i>=0;++i)
{
int temp=num-i*i;
if(temp<0)
break;
if(temp==0)
return step+1;
if(!vis[temp])
{
q.push(make_pair(temp,step+1));
vis[temp]=true;
}
}
}
}