Skip to content

Commit 5d93127

Browse files
committed
feat: update solutions to lc problem: No.0451. Sort Characters By Frequency
1 parent 8e469f9 commit 5d93127

File tree

4 files changed

+9
-24
lines changed

4 files changed

+9
-24
lines changed

solution/0400-0499/0451.Sort Characters By Frequency/README.md

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@
6565
```python
6666
class Solution:
6767
def frequencySort(self, s: str) -> str:
68-
if not s or len(s) < 3:
69-
return s
7068
counter = collections.Counter(s)
71-
buckets = [[] for _ in range(len(s) + 1)]
69+
buckets = collections.defaultdict(list)
7270
for c, freq in counter.items():
7371
buckets[freq].append(c)
7472
res = []
@@ -86,12 +84,9 @@ class Solution:
8684
```java
8785
class Solution {
8886
public String frequencySort(String s) {
89-
if (s == null || s.length() < 3) {
90-
return s;
91-
}
9287
Map<Character, Integer> counter = new HashMap<>();
93-
for (int i = 0; i < s.length(); ++i) {
94-
counter.put(s.charAt(i), counter.getOrDefault(s.charAt(i), 0) + 1);
88+
for (char c : s.toCharArray()) {
89+
counter.put(c, counter.getOrDefault(c, 0) + 1);
9590
}
9691
List<Character>[] buckets = new List[s.length() + 1];
9792
for (Map.Entry<Character, Integer> entry : counter.entrySet()) {

solution/0400-0499/0451.Sort Characters By Frequency/README_EN.md

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,8 @@ Note that &#39;A&#39; and &#39;a&#39; are treated as two different characters.
5151
```python
5252
class Solution:
5353
def frequencySort(self, s: str) -> str:
54-
if not s or len(s) < 3:
55-
return s
5654
counter = collections.Counter(s)
57-
buckets = [[] for _ in range(len(s) + 1)]
55+
buckets = collections.defaultdict(list)
5856
for c, freq in counter.items():
5957
buckets[freq].append(c)
6058
res = []
@@ -70,12 +68,9 @@ class Solution:
7068
```java
7169
class Solution {
7270
public String frequencySort(String s) {
73-
if (s == null || s.length() < 3) {
74-
return s;
75-
}
7671
Map<Character, Integer> counter = new HashMap<>();
77-
for (int i = 0; i < s.length(); ++i) {
78-
counter.put(s.charAt(i), counter.getOrDefault(s.charAt(i), 0) + 1);
72+
for (char c : s.toCharArray()) {
73+
counter.put(c, counter.getOrDefault(c, 0) + 1);
7974
}
8075
List<Character>[] buckets = new List[s.length() + 1];
8176
for (Map.Entry<Character, Integer> entry : counter.entrySet()) {

solution/0400-0499/0451.Sort Characters By Frequency/Solution.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
class Solution {
22
public String frequencySort(String s) {
3-
if (s == null || s.length() < 3) {
4-
return s;
5-
}
63
Map<Character, Integer> counter = new HashMap<>();
7-
for (int i = 0; i < s.length(); ++i) {
8-
counter.put(s.charAt(i), counter.getOrDefault(s.charAt(i), 0) + 1);
4+
for (char c : s.toCharArray()) {
5+
counter.put(c, counter.getOrDefault(c, 0) + 1);
96
}
107
List<Character>[] buckets = new List[s.length() + 1];
118
for (Map.Entry<Character, Integer> entry : counter.entrySet()) {

solution/0400-0499/0451.Sort Characters By Frequency/Solution.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
class Solution:
22
def frequencySort(self, s: str) -> str:
3-
if not s or len(s) < 3:
4-
return s
53
counter = collections.Counter(s)
6-
buckets = [[] for _ in range(len(s) + 1)]
4+
buckets = collections.defaultdict(list)
75
for c, freq in counter.items():
86
buckets[freq].append(c)
97
res = []

0 commit comments

Comments
 (0)