 ### LeetCode - Strings - Compare Strings by Frequency of the Smallest Character

Let's define a function `f(s)` over a non-empty string `s`, which calculates the frequency of the smallest character in `s`. For example, if `s = "dcce"` then `f(s) = 2` because the smallest character is `"c"` and its frequency is 2.

Now, given string arrays `queries` and `words`, return an integer array `answer`, where each `answer[i]` is the number of words such that `f(queries[i])` < `f(W)`, where `W` is a word in `words`.

Example 1:

```Input: queries = ["cbd"], words = ["zaaaz"]
Output: 
Explanation: On the first query we have f("cbd") = 1, f("zaaaz") = 3 so f("cbd") < f("zaaaz").
```

Example 2:

```Input: queries = ["bbb","cc"], words = ["a","aa","aaa","aaaa"]
Output: [1,2]
Explanation: On the first query only f("bbb") < f("aaaa"). On the second query both f("aaa") and f("aaaa") are both > f("cc").```
```class Solution {     public int[] numSmallerByFrequency(String[] queries, String[] words) {         int[] q_freq = new int[queries.length];         for(int i=0;i<queries.length;i++){             q_freq[i] = getFrequency(queries[i]);         }                  int[] w_freq = new int[words.length];         for(int i=0;i<words.length;i++){             w_freq[i] = getFrequency(words[i]);         }                  //System.out.println(Arrays.toString(q_freq));         //System.out.println(Arrays.toString(w_freq));                  int[] result_freq = new int[queries.length];         for(int i=0;i<q_freq.length;i++){             int queryfrequency = q_freq[i];             int counter = 0;             for(int j=0;j<w_freq.length;j++){                 if(queryfrequency < w_freq[j]){                     counter++;                 }                 result_freq[i] = counter;             }         }                  return result_freq;     }          public int getFrequency(String word){         if(word.length() == 1) return 1;         Map<String,Integer> freqMap = new TreeMap<String,Integer>();         for(int i=0;i<word.length();i++){             if(freqMap.containsKey(word.charAt(i)+"")){                                     freqMap.put(word.charAt(i)+"",freqMap.get(word.charAt(i)+"")+1);             }else{                 freqMap.put(word.charAt(i)+"",1);             }         }         if(freqMap.size() == 1) return word.length();         return freqMap.get( (freqMap.keySet().toArray()) );     } }```