@@ -0,0 +1,664 @@
+public class Solution %7B%0A    public int numSquares(int n) %7B%0A        if(n %3C 4)%7B%0A            return n;%0A        %7D%0A        int%5B%5D dp = new int%5Bn+1%5D;%0A        for(int i = 0; i %3C= 3; i++)%7B%0A            dp%5Bi%5D = i;%0A        %7D%0A        for(int i = 4; i %3C= n; i++)%7B%0A            int tmp = (int) Math.sqrt(i);%0A            if(tmp * tmp == i)%7B%0A                dp%5Bi%5D = 1;%0A            %7Delse%7B%0A                int sumTmp = Integer.MAX_VALUE;%0A                for(int j = 2; j %3C= tmp; j++)%7B%0A                    sumTmp = (dp%5Bi - j * j%5D + 1 %3C sumTmp)? dp%5Bi - j * j%5D + 1 :sumTmp;%0A                %7D%0A                dp%5Bi%5D = sumTmp;%0A            %7D%0A        %7D%0A        return dp%5Bn%5D;%0A    %7D%0A    %0A    %0A%7D

Q279 Perfect Squares