Python, dfs, backtracking
\nclass Solution:\n    def judgePoint24(self, nums: List[int]) -> bool:\n        if not nums:\n            return False\n        return self.dfs(nums, 4)\n     
```\nclass Solution:\n    def judgePoint24(self, nums: List[int]) -> bool:\n        if not nums:\n            return False\n        return self.dfs(nums, 4)\n        \n    \n    def dfs(self, nums, n):\n        if n == 1:\n            if abs(nums[0] - 24) <= 1E-6 :\n                return True\n        \n        for i in range(0, n):\n            for j in range(i + 1, n):\n                a, b = nums[i], nums[j]\n                nums[j] = nums[n - 1]\n                \n                for temp in [a + b, a - b, b - a, a * b]:\n                    nums[i] = temp\n                    if self.dfs(nums, n - 1):\n                        return True\n                \n                if a != 0:\n                    nums[i] = b / a\n                    if self.dfs(nums, n - 1):\n                        return True\n                if b != 0:\n                    nums[i] = a / b\n                    if self.dfs(nums, n - 1):\n                        return True\n                \n                nums[i], nums[j] = a, b \n        return False\n```
['Backtracking', 'Depth-First Search', 'Python']