Very Easy JAVA DFS
```\npublic boolean judgePoint24(int[] nums) {\n        List list = new ArrayList<>();\n        for (int i : nums) {\n            list.add((double) i);\n       
```\npublic boolean judgePoint24(int[] nums) {\n        List<Double> list = new ArrayList<>();\n        for (int i : nums) {\n            list.add((double) i);\n        }\n        return dfs(list);\n    }\n\n    private boolean dfs(List<Double> list) {\n        if (list.size() == 1) {\n            if (Math.abs(list.get(0)- 24.0) < 0.001) {\n                return true;\n            }\n            return false;\n        }\n\n        for(int i = 0; i < list.size(); i++) {\n            for(int j = i + 1; j < list.size(); j++) {\n                for (double c : generatePossibleResults(list.get(i), list.get(j))) {\n                    List<Double> nextRound = new ArrayList<>();\n                    nextRound.add(c);\n                    for(int k = 0; k < list.size(); k++) {\n                        if(k == j || k == i) continue;\n                        nextRound.add(list.get(k));\n                    }\n                    if(dfs(nextRound)) return true;\n                }\n            }\n        }\n        return false;\n\n    }\n\n    private List<Double> generatePossibleResults(double a, double b) {\n        List<Double> res = new ArrayList<>();\n        res.add(a + b);\n        res.add(a - b);\n        res.add(b - a);\n        res.add(a * b);\n        res.add(a / b);\n        res.add(b / a);\n        return res;\n    }
[]