gpt4 book ai didi

java - 力扣1002。查找字符串之间的共同字符-Java

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:37:50 26 4
gpt4 key购买 nike

问题是:给定一个仅由小写字母组成的字符串数组 A,返回出现在列表中所有字符串(包括重复项)中的所有字符的列表。例如,如果一个字符在所有字符串中出现 3 次但没有出现 4 次,则您需要在最终答案中包含该字符 3 次。

您可以按任何顺序返回答案。

示例 1:

输入:["bella","label","roller"]输出:["e","l","l"]

示例 2:

输入:["cool","lock","cook"]输出:["c","o"]

注意:

1 <= A.length <= 100

1 <= A[i].length <= 100

A[i][j]是小写字母

这是我的代码:

class Solution {
public List<String> commonChars(String[] A) {
List<String> charArr = new ArrayList<>();

for(int i = 1; i<A.length ; i++){
A[0].replaceAll("[^" + A[i] + "]", "");
}
for(int i=0; i<A[0].length(); i++){
charArr.add(Character.toString(A[0].charAt(i)));
}
return charArr;

}
}

我得到的结果

输入:[“贝拉”,“标签”,“滚筒”]

输出:["b","e","l","l","a"]

预期:[“e”,“l”,“l”]

显然字符没有被删除,谁能帮我解决这个问题?

最佳答案

不确定 java,但这是 python 中的第一个衬里

list(functools.reduce(lambda a,b: a&b, [Counter(c) for c in A]).elements())
>>> from collections import Counter
>>> import functools

>>> A = ["bella","label","roller"]
>>> list(functools.reduce(lambda a,b: a&b, [Counter(c) for c in A]).elements())
['e', 'l', 'l']
>>> A = ["cool","lock","cook"]
>>> list(functools.reduce(lambda a,b: a&b, [Counter(c) for c in A]).elements())
['c', 'o']
>>>

关于java - 力扣1002。查找字符串之间的共同字符-Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55050466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com