2023-08-02 Leetcode 822 翻转卡片游戏

25 阅读1分钟

Problem: 822. 翻转卡片游戏

思路

本质上需要搞清楚什么情况下不是合格的数字,其他情况均可以通过翻转来实现

解题方法

哈希表记录即可

Code


class Solution {
public:
    int flipgame(vector<int>& fronts, vector<int>& backs) {
        unordered_set<int> forbidden;
        int n = fronts.size();
        for (int i = 0; i < n; i++) {
            if (fronts[i] == backs[i])
                forbidden.insert(fronts[i]);
        }

        int ans = INT_MAX;
        for (int x : fronts) if(!forbidden.count(x)) ans = min(ans, x);
        for (int x : backs) if(!forbidden.count(x)) ans = min(ans, x);
        
        return ans == INT_MAX ? 0 : ans;
    }
};