24 Game LeetCode solution in JavaScript

1
/**
2
* @param {number[]} cards
3
* @return {boolean}
4
1487
5
7-1 8-4
6
*/
7
var judgePoint24 = function (cards) {
8
let minV = 0.00000001;
9
let numL = [];
10
cards.forEach((card) => numL.push(card));
11
function judge(nums) {
12
if (nums.length === 1) return Math.abs(nums[0] - 24) <= minV;
13
else {
14
for (let i = 0; i < nums.length; i++) {
15
for (let j = 0; j < i; j++) {
16
let a = nums[i],
17
b = nums[j];
18
let val = [a + b, a - b, b - a, a * b, a / b, b / a];
19
let copy = [...nums];
20
copy.splice(i, 1);
21
copy.splice(j, 1);
22
for (let v of val) {
23
copy.push(v);
24
if (judge(copy)) {
25
return true;
26
}
27
copy.pop();
28
}
29
}
30
}
31
return false;
32
}
33
}
34
return judge(numL);
35
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0