C++ Solution. Very concise and simple code. (much conciser than most)
C++\nclass Solution {\npublic:\n    bool judgePoint24(vector<int>& nums) {\n        vector<double> tmp(nums.begin(), nums.end());\n        return dfs(tmp);\n   
```C++\nclass Solution {\npublic:\n    bool judgePoint24(vector<int>& nums) {\n        vector<double> tmp(nums.begin(), nums.end());\n        return dfs(tmp);\n    }\nprivate:\n    bool dfs(vector<double>& nums){\n        if(nums.size() == 1) return fabs(nums[0] - 24) < 1e-8;\n        for(int i = 0; i + 1 < nums.size(); ++i){\n            for(int j = i + 1; j < nums.size(); ++j){\n                vector<double> tmp;\n                for(int k = 0; k < nums.size(); ++k)\n                    if(k != i && k != j) tmp.push_back(nums[k]);\n                tmp.push_back(nums[i] + nums[j]);\n                if(dfs(tmp)) return true;\n                tmp.back() = nums[i] * nums[j];\n                if(dfs(tmp)) return true;\n                tmp.back() = nums[i] - nums[j];\n                if(dfs(tmp)) return true;\n                tmp.back() = nums[i] / nums[j];\n                if(dfs(tmp)) return true;\n                tmp.back() = nums[j] - nums[i];\n                if(dfs(tmp)) return true;\n                tmp.back() = nums[j] / nums[i];\n                if(dfs(tmp)) return true;\n            }\n        }\n        return false;\n    }\n};\n```
[]