Участник:Novruzov.sb/Triples

Материал из DISCOPAL
< Участник:Novruzov.sb
Версия от 10:55, 20 ноября 2020; Novruzov.sb (обсуждение | вклад) (Новая страница: « https://leetcode.com/problems/triples-with-bitwise-and-equal-to-zero/ C++ <code-cpp> class Solution { public: int countTriplets(vector<int>& A) { in…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

https://leetcode.com/problems/triples-with-bitwise-and-equal-to-zero/

C++

class Solution {
public:
    int countTriplets(vector<int>& A) {
        int n = A.size(), ans = 0;
        vector<int> f(1 << 16, -1);
 
        for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++) {
                int x = A[i] & A[j];
                if (f[x] == -1) {
                    f[x] = 0;
                    for (int k = 0; k < n; k++)
                        if ((x & A[k]) == 0)
                            f[x]++;
                }
                ans += f[x];
            }
 
        return ans;
    }
};