Easy C++ Solution
\nclass Solution {\npublic:\n    bool helper(vector<float> cards) {\n        int n = cards.size();\n       // cout << "size is " << n << endl;\n        if (n ==
```\nclass Solution {\npublic:\n    bool helper(vector<float> cards) {\n        int n = cards.size();\n       // cout << "size is " << n << endl;\n        if (n == 1) {\n            //cout << cards[0] << endl;\n            if (abs(cards[0]-24) < 0.001) {\n                return true;\n            }\n            return false;\n        }\n        \n        if (n < 1) {\n            return false;\n        }\n        \n       for (int i = 0; i < n; i++) {\n           for (int j = i+1; j < n; j++) {\n               vector<float> poss;\n               poss.push_back(cards[i]+cards[j]);\n               poss.push_back(abs(cards[i]-cards[j]));\n               poss.push_back(cards[i]*cards[j]);\n               \n               if (cards[j] > 0) {\n                   poss.push_back(cards[i]/cards[j]);\n               }\n               \n               if (cards[i] > 0) {\n                   poss.push_back(cards[j]/cards[i]);\n               }\n               \n               vector<float> temp;\n               for (int k = 0; k < n; k++) {\n                   if (k == i || k == j) {\n                       continue;\n                   }\n                   temp.push_back(cards[k]);\n               }\n               \n               for (auto l : poss) {\n                   temp.push_back(l);\n                   if (helper(temp)) {\n                       return true;\n                   }\n                   temp.pop_back();\n               }\n           }\n       }\n        return false;\n    }\n    \n    bool judgePoint24(vector<int>& cards) {\n        vector<float> temp;\n        for (auto i : cards) {\n            temp.push_back(i);\n        }\n        return helper(temp);\n    }\n};\n```
['Backtracking']