601-610¶
611-620¶
621-630¶
631-640¶
641-650¶
651-660¶
661-670¶
671-680¶
681-690¶
682. 棒球比赛¶
class Solution {
public:
    int calPoints(vector <string> &ops) {
        vector<int> res;
        for (auto op: ops) {
            // 前一次得分无效
            if (op == "C") {
                res.pop_back();
            }
                // 本回合新获得的得分是前一次得分的两倍
            else if (op == "D") {
                res.push_back(res.back() * 2);
            }
                // 本回合新获得的得分是前两次得分的总和
            else if (op == "+") {
                res.push_back(res[res.size() - 1] + res[res.size() - 2]);
            } else {
                res.push_back(stoi(op));
            }
        }
        int ans = 0;
        for (auto it: res) ans += it;
        return ans;
    }
};
691-700¶
693. 交替位二进制数¶
相邻两位不同,可以通过二进制11去检测,如果是00或者11则会与运算出00或11,即0或3。
class Solution {
public:
    bool hasAlternatingBits(int n) {
        while (n) {
            if ((n & 3) == 3 || (n & 3) == 0) {
                return false;
            }
            n >>= 1;
        }
        return true;
    }
};