Skip to content

Commit d985da0

Browse files
committed
feature: add golang solution for leetcode 1002
1 parent e1838c4 commit d985da0

File tree

2 files changed

+83
-2
lines changed

2 files changed

+83
-2
lines changed

solution/1000-1099/1002.Find Common Characters/README.md

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,46 @@
5454

5555
```
5656

57-
### **...**
58-
```
57+
### **Go**
58+
```go
59+
func commonChars(A []string) []string {
60+
if len(A) == 0 {
61+
return []string{}
62+
}
63+
res := make([]int, 26)
64+
//以第一个字符串为基准,先统计出现次数
65+
for _, c := range A[0] {
66+
res[c - 'a']++
67+
}
68+
for i := 1; i < len(A); i++ {
69+
tmp := make([]int, 26)
70+
//统计后续每个字符串的字符出现次数
71+
for _, c := range A[i] {
72+
tmp[c - 'a']++
73+
}
74+
//比较,取小
75+
for j := 0; j < 26; j++ {
76+
res[j] = getMin(res[j], tmp[j])
77+
}
78+
}
79+
//遍历res,取出字符转换为string数组元素
80+
result := make([]string,0)
81+
for i := 0; i < len(res); i++ {
82+
if res[i] > 0 {
83+
for j := 0; j < res[i]; j++ {
84+
result = append(result, string('a' + i))
85+
}
86+
}
87+
}
88+
return result
89+
}
90+
91+
func getMin(a,b int) int {
92+
if a > b{
93+
return b
94+
}
95+
return a
96+
}
5997

6098
```
6199

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
func commonChars(A []string) []string {
2+
if len(A) == 0 {
3+
return []string{}
4+
}
5+
res := make([]int, 26)
6+
//以第一个字符串为基准,先统计出现次数
7+
for _, c := range A[0] {
8+
res[c - 'a']++
9+
}
10+
for i := 1; i < len(A); i++ {
11+
tmp := make([]int, 26)
12+
//统计后续每个字符串的字符出现次数
13+
for _, c := range A[i] {
14+
tmp[c - 'a']++
15+
}
16+
//比较,取小
17+
for j := 0; j < 26; j++ {
18+
res[j] = getMin(res[j], tmp[j])
19+
}
20+
}
21+
//遍历res,取出字符转换为string数组元素
22+
result := make([]string,0)
23+
for i := 0; i < len(res); i++ {
24+
if res[i] > 0 {
25+
for j := 0; j < res[i]; j++ {
26+
result = append(result, string('a' + i))
27+
}
28+
}
29+
}
30+
return result
31+
}
32+
33+
func getMin(a,b int) int {
34+
if a > b{
35+
return b
36+
}
37+
return a
38+
}
39+
40+
41+
42+
43+

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy