Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- int calc_f (string str)
- {
- char min_c = str[0];
- int res = 0;
- for (int i = 1 ; i < str.size(); i++)
- {
- min_c = min (min_c, str[i]);
- }
- for (int i = 0 ; i < str.size(); i++)
- {
- res += (str[i] == min_c) ? 1 : 0 ;
- }
- return res;
- }
- vector<int> numSmallerByFrequency(vector<string>& queries, vector<string>& words) {
- vector <int> f_words(11 , 0);
- vector <int> acc (11,0);
- vector <int> res (queries.size());
- for (int i = 0 ; i < words.size(); i++ )
- {
- string cur_str = words[i];
- int f = calc_f (cur_str);
- f_words[f] ++;
- }
- for (int i = 9 ;i > 0 ; i--)
- {
- acc[i] = acc[i + 1] + f_words[i + 1];
- }
- for (int i = 0 ; i < queries.size() ; i++)
- {
- string cur_str = queries[i];
- int f = calc_f (cur_str);
- res[i] = acc[f];
- }
- return res;
- }
- };
- /*
- 3 < 4
- f_number_of_words
- 0 1 2 3 4 5 6 7 8 9 10
- 0 1 1 1 1 0 0 0 0 0 0
- acc
- 0 1 2 3 4 5 6 7 8 9 10
- 4 3 2 1 0 0 0 0 0 0 0
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement