【发布时间】:2018-06-26 14:56:43
【问题描述】:
我编写了代码来查找字符串输入中重复字符的数量。但是,在阅读规范后,我意识到这不是所要求的。是的,我需要计算重复字符,但不是该特定字符的数量,我需要所有重复字符的数量。
我已经给出了输入和输出以帮助更好地解释。我不认为我做得很好。
输入: "abcdea" => "a" 重复 => 输出: 1
输入: "abcdeae" => "a" 和 "e" 重复 => 输出: 2
输入: "abcdeaed" => "a", "d" 和 "e" 重复 => 输出: 3
我已经把我的代码放在下面了。任何人都可以帮助调整我的代码吗?
public static int duplicatesCount(String text)
{
Map<Character,Integer> map = new HashMap<Character,Integer>();
char[] carray = text.toCharArray();
for (char c : carray)
{
if (map.containsKey(c))
{
map.put(c, map.get(c) +1);
}
else
{
map.put(c, 1);
}
}
Set <Character> setChar = map.keySet();
int returnC = 1;
for (Character c : setChar)
{
if (map.get(c) > 1)
{
returnC = map.get(c);
}
}
return returnC;
【问题讨论】:
-
returnC当前对应于最后一个字母多次出现的次数。而不是每次都覆盖returnC,而是添加它(但首先将其初始化为0而不是1)
标签: java hashmap duplicates