leetcodeSolution 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; 6 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 } 20 21 return res; 22 } 23 };