LeetCode第 277 场周赛

A

class Solution {
public:
    int countElements(vector<int>& nums) {
        int minn = 0x3f3f3f3f, maxx = 0xcfcfcfcf;
        for (auto x : nums)
            minn = min(minn, x), maxx = max(maxx, x);
        int cnt = 0;
        for (auto x : nums)
            if (x > minn && x < maxx)
                cnt ++;
        return cnt;
    }
};

B

class Solution {
public:
    vector<int> rearrangeArray(vector<int>& nums) {
        vector<int> a, b;
        for (auto x : nums) {
            if (x >= 0) a.push_back(x);
            else b.push_back(x);
        }
        vector<int> ans;
        for (int i = 0; i < a.size(); i ++ ) {
            ans.push_back(a[i]);
            ans.push_back(b[i]);
        }
        return ans;
    }
};

C

class Solution {
public:
    vector<int> findLonely(vector<int>& nums) {
        map<int, int> Map;
        for (auto x : nums) 
            Map[x] ++;
        vector<int> ans;
        for (auto x : nums) 
            if (Map[x] == 1 && !Map.count(x + 1) && !Map.count(x - 1))
                ans.push_back(x);
        return ans;
    }
};

D

class Solution {
public:
    int ans = 0;
    int st[20];
    int maximumGood(vector<vector<int>>& statements) {
        int n = statements.size();
        function<void(int)> dfs = [&] (int d) {
            if (d == n) {
                bool flag = 1;
                int sum = 0;
                for (int i = 0; i < n; i ++ ) {
                    for (int j = 0; j < n; j ++ ) {
                        if (statements[i][j] == 2)  continue;
                        if (st[i] && statements[i][j] != st[j]) {
                            flag = false;
                            break;
                        }
                    }
                    if (!flag)   break;
                }
                if (flag) {
                    for (int i = 0; i < n; i ++ )
                        if (st[i])
                            sum ++;
                    ans = max(ans, sum);
                }
                return ;
            }
            dfs(d + 1);
            st[d] = 1;
            dfs(d + 1);
            st[d] = 0;
        };
        dfs(0);
        return ans;
    }
};
posted @ 2022-01-23 12:01  Angels_of_Death  阅读(28)  评论(0)    收藏  举报