leetcode

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

1170.cpp (795B)


0 class Solution { 1 int f(const string &s) { 2 int res = 0, mini = s[0]; 3 for (const char c : s) { 4 if (c == mini) res++; 5 if (c < mini) { 6 mini = c; 7 res = 1; 8 } 9 } 10 return res; 11 } 12 13 public: 14 vector<int> numSmallerByFrequency(const vector<string> &queries, const vector<string> &words) { 15 vector<int> res(queries.size()), mem(words.size()); 16 for (int i = 0; i < words.size(); i++) 17 mem[i] = f(words[i]); 18 sort(mem.begin(), mem.end()); 19 20 for (int i = 0; i < queries.size(); i++) { 21 const int t = f(queries[i]); 22 res[i] = words.size() - distance(begin(mem), upper_bound(begin(mem), end(mem), t)); 23 } 24 25 return res; 26 } 27 };