Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- // March 26th 2019
- public List<String> commonChars(String[] A) {
- List<String> result = new ArrayList<>();
- int[] minFreq = new int[26];
- int[] numWords = new int[26];
- for (int k = 0; k < A.length; k++) {
- String s = A[k];
- int[] currFreq = new int[26];
- for (int j = 0; j < s.length(); j++) {
- currFreq[s.charAt(j) - 'a']++;
- }
- for (int i = 0; i < 26; i++) {
- if (k == 0) {
- minFreq[i] = currFreq[i];
- }
- if (minFreq[i] > 0 && currFreq[i] > 0) {
- numWords[i]++;
- minFreq[i] = Math.min(minFreq[i], currFreq[i]);
- }
- }
- }
- //System.out.println();
- for (int i = 0; i < 26; i++) {
- if (numWords[i] == A.length) {
- for (int j = 0; j < minFreq[i]; j++) {
- result.add(String.valueOf((char)(i + 'a')));
- }
- }
- }
- return result;
- }
- }
- /*
- ["bella","label","roller"]
- ["cool","lock","cook"]
- ["a", "b", "b"]
- ["aaa", "aaa"]
- ["b"]
- []
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement