3
private static final double EPS = 1e-6;5
private boolean backtrack(double[] A, int n) {6
if (n == 1) return Math.abs(A[0] - 24) < EPS;7
for (int i = 0; i < n; i++) {8
for (int j = i + 1; j < n; j++) {9
double a = A[i], b = A[j];12
if (backtrack(A, n - 1)) return true;14
if (backtrack(A, n - 1)) return true;16
if (backtrack(A, n - 1)) return true;18
if (backtrack(A, n - 1)) return true;19
if (Math.abs(b) > EPS) {21
if (backtrack(A, n - 1)) return true;23
if (Math.abs(a) > EPS) {25
if (backtrack(A, n - 1)) return true;34
public boolean judgePoint24(int[] nums) {35
double[] A = new double[nums.length];36
for (int i = 0; i < nums.length; i++) A[i] = nums[i];37
return backtrack(A, A.length);