Skip to content

Commit ee2d02f

Browse files
author
Dream
committed
[update]
1 parent 03eb133 commit ee2d02f

File tree

2 files changed

+46
-2
lines changed

2 files changed

+46
-2
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
| # | Title | Solution | Difficulty |
88
|---| ----- | -------- | ---------- |
99
|1464|[Maximum Product of Two Elements in An Array](https://leetcode.com/problems/maximum-product-of-two-elements-in-an-array/)| [java](./algorithms/maximumProductOfTwoElementsInAnArray/Solution.java) [java_dream](./algorithms/maximumProductOfTwoElementsInAnArray_Dream/maximumProductOfTwoElementsInAnArray_Dream.java)|Easy|
10-
|1207|[Unique Number of Occurrences](https://leetcode.com/problems/unique-number-of-occurrences/) | [java](./algorithms/uniqueNumberOfOccurrences/uniqueNumberOfOccurrences.java)|Easy|
10+
|1207|[Unique Number of Occurrences](https://leetcode.com/problems/unique-number-of-occurrences/) | [java_dream](./algorithms/uniqueNumberOfOccurrences/uniqueNumberOfOccurrences.java)|Easy|
1111
|1179|[Reformat Department Table](https://leetcode.com/problems/reformat-department-table/)| [Mysql](./algorithms/reformatDepartmentTable/Solution.sql) |Easy|
12-
|1170|[Compare Strings by Frequency of the Smallest Character](https://leetcode.com/problems/compare-strings-by-frequency-of-the-smallest-character/) | |Easy|
12+
|1170|[Compare Strings by Frequency of the Smallest Character](https://leetcode.com/problems/compare-strings-by-frequency-of-the-smallest-character/) |[java_dream](./algorithms/compareStringsByFrequencyOfTheSmallestCharacter/CompareStringsByFrequencyOfTheSmallestCharacter.java) |Easy|
1313
|1137|[N-th Tribonacci Number](https://leetcode.com/problems/n-th-tribonacci-number/) | [js](./algorithms/nThTribonacciNumber/nThTribonacciNumber.js) |Easy|
1414
|1071|[Greatest Common Divisor of Strings](https://leetcode.com/problems/greatest-common-divisor-of-strings/) | |Easy|
1515
|1030|[Matrix Cells in Distance Order](https://leetcode.com/problems/matrix-cells-in-distance-order/) | |Easy|
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import java.util.ArrayList;
2+
import java.util.HashMap;
3+
import java.util.List;
4+
import java.util.Map;
5+
6+
class CompareStringsByFrequencyOfTheSmallestCharacter {
7+
public int[] numSmallerByFrequency(String[] queries, String[] words) {
8+
int size = queries.length;
9+
int wordsSize = words.length;
10+
List<Integer> list = new ArrayList<>(size);
11+
Map<Integer, Integer> wordsMap = new HashMap<>();
12+
for (int p = 0; p < wordsSize; p++) {
13+
wordsMap.put(p, f(words[p]));
14+
}
15+
16+
for (int i = 0; i < size; i++) {
17+
int q = 0;
18+
int queLetterSize = f(queries[i]);
19+
for (int j = 0; j < wordsSize; j++) {
20+
if (queLetterSize < wordsMap.get(j)) {
21+
q++;
22+
}
23+
}
24+
list.add(q);
25+
}
26+
int[] ints = list.stream().mapToInt(Integer::intValue).toArray();
27+
return ints;
28+
}
29+
30+
public static Integer f(String s) {
31+
Map<Character, Integer> map = new HashMap<>(s.length());
32+
for (int i = 0; i < s.length(); i++) {
33+
char c = s.charAt(i);
34+
map.put(c, map.getOrDefault(c, 0) + 1);
35+
}
36+
Character maxLetter = 'z';
37+
for (Map.Entry<Character, Integer> entry : map.entrySet()) {
38+
if (entry.getKey().compareTo(maxLetter) < 0) {
39+
maxLetter = entry.getKey();
40+
}
41+
}
42+
return map.get(maxLetter);
43+
}
44+
}

0 commit comments

Comments
 (0)