leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

1239.cpp (673B)


0 class Solution {
1 public:
2 int maxLength(const vector<string> &arr) const {
3 typedef bitset<27> bs;
4 vector<bs> vec(1, 0);
5 int res = 0;
7 for (const auto &s : arr) {
8 const int n = size(s);
9 bs crnt;
10 for (const char c : s)
11 crnt.set(c & 0x1F);
12 if (crnt.count() != n) continue;
13 for (int i = size(vec) - 1; i >= 0; i--) {
14 const auto &prev = vec[i];
15 if ((prev & crnt).any()) continue;
16 res = max(res, (int)prev.count() + n);
17 vec.push_back(prev | crnt);
18 }
19 }
21 return res;
22 }
23 };