Bag of Tokens LeetCode solution in C++
1class Solution {2public:3int bagOfTokensScore(vector<int> &tokens, int power) {4sort(tokens.begin(), tokens.end());5int start = 0, end = tokens.size() - 1, score = 0, ans = 0;6while (start <= end) {7if (power >= tokens[start]) {8ans = max(ans, ++score);9power -= tokens[start++];10} else if (score > 0) {11score--;12power += tokens[end--];13} else {14return 0;15}16}17return ans;18}19};