[JAVA] Simple DFS solution
``` \npublic boolean judgePoint24(int[] nums) {\n        ArrayList list = new ArrayList<>();\n        for(int i: nums){\n            list.add((double)i);\n     
``` \npublic boolean judgePoint24(int[] nums) {\n        ArrayList<Double> list = new ArrayList<>();\n        for(int i: nums){\n            list.add((double)i);\n        }\n        \n        return dfs(list);\n        \n    }\n    \n    boolean dfs(List<Double> list) {\n        if (list.size() == 0) return false;\n        \n        if(list.size() == 1){\n            if(Math.abs(list.get(0) - 24) < 0.001){\n                return true;\n            } else {\n                return false;\n            }\n        }\n        \n        for(int i=0; i<list.size(); i++){\n            for(int j=i+1; j<list.size(); j++){\n                \n                double num1 = list.get(i);\n                double num2 = list.get(j);\n\n                List<Double> possibleResult = new ArrayList<>();\n\n                possibleResult.add(num1-num2);\n                possibleResult.add(num2-num1);\n                possibleResult.add(num1+num2);\n                possibleResult.add(num1*num2);\n                if(num2!=0) possibleResult.add(num1/num2);\n                if(num1!=0) possibleResult.add(num2/num1);\n\n                for(int k=0; k< possibleResult.size(); k++){\n                    List<Double> temp = new ArrayList<>();\n                    temp.add(possibleResult.get(k));\n\n                    for(int l=0; l<list.size(); l++) {\n                        if(l!=i && l!=j) {\n                            temp.add(list.get(l));\n                        }\n                    }\n\n                    if(dfs(temp)) {\n                        return true;\n                    }\n                } \n            }\n        }\n        \n        return false;\n    }
[]