“bella”,“abe”,“roer”
结果返回 e
public List<String> commonChars(String[] A) {
int[] minfreq = new int[26];
Arrays.fill(minfreq, Integer.MAX_VALUE);
for (String word: A) {
int[] freq = new int[26];
int length = word.length();
for (int i = 0; i < length; ++i) {
char ch = word.charAt(i);
++freq[ch - 'a'];
}
for (int i = 0; i < 26; ++i) {
//放入含有的字母数量的最小值,如果是0,说明这个字符在该字符串中使不包含的
minfreq[i] = Math.min(minfreq[i], freq[i]);
}
}
List<String> ans = new ArrayList<String>();
for (int i = 0; i < 26; ++i) {
for (int j = 0; j < minfreq[i]; ++j) {
ans.add(String.valueOf((char) (i + 'a')));
}
}
return ans;
}

这段代码实现了一个功能,从多个给定的字符串中找出它们共有的字符,并以列表形式返回。它首先初始化每个字母出现次数的最小值为正无穷大,然后遍历每个字符串更新每个字母的出现次数。最后,将所有字符串中共有的字符添加到结果列表中。

251

被折叠的 条评论
为什么被折叠?



