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 }
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());
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 }
25 return res;
26 }
27 };