@@ -0,0 +1,694 @@
+/**%0A * Problem: https://leetcode.com/problems/perfect-squares/%0A */%0Apublic class Solution %7B%0A    %0A    private int%5B%5D mark;%0A    %0A    public int numSquares(int n) %7B%0A        int x = (int)Math.sqrt(n);%0A        mark = new int%5Bn+1%5D;%0A        for(int i=0; i%3C=n; i++) mark%5Bi%5D = -1;%0A        for(int i = (int)Math.sqrt(n); i %3E= 1; i--) %7B%0A            mark%5Bi*i%5D = 1;%0A        %7D%0A        return square(n);%0A    %7D%0A    %0A    private int square(int left) %7B%0A        if(mark%5Bleft%5D != -1) return mark%5Bleft%5D;%0A        mark%5Bleft%5D = Integer.MAX_VALUE;%0A        for(int x = (int)Math.sqrt(left); x %3E=1; x--)%7B%0A            mark%5Bleft%5D = Math.min(mark%5Bleft%5D, 1 + square(left - x * x));%0A        %7D%0A        return mark%5Bleft%5D;%0A    %7D%0A%7D%0A

Create Perfect_Squares.java