Advertisement
SalmaYasser

Untitled

Jan 3rd, 2020
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. class Solution {
  2. public:
  3.  
  4. int calc_f (string str)
  5. {
  6.  
  7. char min_c = str[0];
  8. int res = 0;
  9. for (int i = 1 ; i < str.size(); i++)
  10. {
  11. min_c = min (min_c, str[i]);
  12. }
  13.  
  14. for (int i = 0 ; i < str.size(); i++)
  15. {
  16. res += (str[i] == min_c) ? 1 : 0 ;
  17. }
  18. return res;
  19. }
  20. vector<int> numSmallerByFrequency(vector<string>& queries, vector<string>& words) {
  21. vector <int> f_words(11 , 0);
  22. vector <int> acc (11,0);
  23. vector <int> res (queries.size());
  24. for (int i = 0 ; i < words.size(); i++ )
  25. {
  26. string cur_str = words[i];
  27.  
  28. int f = calc_f (cur_str);
  29.  
  30. f_words[f] ++;
  31.  
  32. }
  33.  
  34. for (int i = 9 ;i > 0 ; i--)
  35. {
  36. acc[i] = acc[i + 1] + f_words[i + 1];
  37. }
  38.  
  39. for (int i = 0 ; i < queries.size() ; i++)
  40. {
  41. string cur_str = queries[i];
  42.  
  43. int f = calc_f (cur_str);
  44. res[i] = acc[f];
  45. }
  46.  
  47. return res;
  48. }
  49. };
  50.  
  51. /*
  52.  
  53. 3 < 4
  54.  
  55. f_number_of_words
  56. 0 1 2 3 4 5 6 7 8 9 10
  57. 0 1 1 1 1 0 0 0 0 0 0
  58.  
  59. acc
  60. 0 1 2 3 4 5 6 7 8 9 10
  61. 4 3 2 1 0 0 0 0 0 0 0
  62.  
  63.  
  64.  
  65. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement