Python3 straightforward recursive solution Faster than 91%
\tclass Solution:   \n\t\tdef judgePoint24(self, nums: List[int]) -> bool:\n\t\t\t# recursively \'glue\' 2 numbers as a new number, and try to make 24 with the 
\tclass Solution:   \n\t\tdef judgePoint24(self, nums: List[int]) -> bool:\n\t\t\t# recursively \'glue\' 2 numbers as a new number, and try to make 24 with the new nums list\n\t\t\t# at the end, when len(nums) = 1, check if it is 24 (due to division some precision loss should be expected, here set as 1e-8 )\n\n\t\t\t# base case\n\t\t\tif len(nums) == 1:\n\t\t\t\tif  abs(nums[0] - 24) < 1e-8: \n\t\t\t\t\treturn True\n\t\t\t\treturn False\n\n\t\t\t# general case\n\t\t\tfor i in range(len(nums)-1):\n\t\t\t\tfor j in range(i+1, len(nums)):\n\t\t\t\t\tcombine2 = []\n\t\t\t\t\tcombine2.append(nums[i] + nums[j])\n\t\t\t\t\tcombine2.append(nums[i] * nums[j])\n\t\t\t\t\tcombine2.append(nums[i] - nums[j])\n\t\t\t\t\tcombine2.append(nums[j] - nums[i])\n\t\t\t\t\tif nums[j]: \n\t\t\t\t\t\tcombine2.append(nums[i]/nums[j])\n\t\t\t\t\tif nums[i]:\n\t\t\t\t\t\tcombine2.append(nums[j]/nums[i])\n\n\t\t\t\t\tfor candi in combine2:\n\t\t\t\t\t\tif self.judgePoint24( [candi] + nums[:i] + nums[i+1:j] + nums[j+1:] ):\n\t\t\t\t\t\t\treturn True\n\n\t\t\treturn False
[]