class Solution {
public:
int numSquares(int n) {
vectorout;
out.emplace_back(0);
for(int i=1;i<=n;i++){
int min_n=i;
for(int j=1;j*j<=i;j++){
min_n=min(min_n,out[i-j*j]+1);
}
out.emplace_back(min_n);
}
return out[n];
}
};



