如何找到频率相同的最多字母
how to find the most letter(s) with the same frequency
我刚开始使用 java,我正在尝试创建一个嵌套的 for 循环(不使用数组),它会告诉我有多少个字母(来自字母表)在字符串中的频率为零。因此,如果我的字符串是 "test",那么它应该显示“23 个字母”作为答案,因为 26 个字母中只有 3 个在字符串中。但是,我的程序缺少信息。我试图确保我的程序可以针对我正在寻找的特定频率。 0.
到目前为止,这是我的程序:
public class FindMaxandMinofString {
public static void main(String[] args) {
char charToLookFor;
String s = "test";
int count = 0;
for (charToLookFor = 'a'; charToLookFor = 'z' ;charToLookFor++)
{
for(int l = 0; l < s.length(); l++) {
if(s.charAt(l) == charToLookFor)
count++;
}
System.out.print(count);
}
您可以使用散列集完成此任务 - 当您找到一个字符时,将其添加到散列集中。在遍历整个字符串后,您的答案将是 26 减去最终哈希集的大小。
不要从 0 开始计数,而是从 26 开始计数,每当找到新字母时从中减去。当你找到一个时,它会从循环中导入到 break
,否则你可能会多次计算每个字母。
public class FindMaxandMinofString {
public static void main(String[] args) {
char charToLookFor;
String s = "test";
int count = 26;
for (charToLookFor = 'a'; charToLookFor <= 'z' ;charToLookFor++)
{
for(int l = 0; l < s.length(); l++)
{
if(s.charAt(l) == charToLookFor)
{
count--;
break;
}
}
}
System.out.print(count + " letters");
}
}
我刚开始使用 java,我正在尝试创建一个嵌套的 for 循环(不使用数组),它会告诉我有多少个字母(来自字母表)在字符串中的频率为零。因此,如果我的字符串是 "test",那么它应该显示“23 个字母”作为答案,因为 26 个字母中只有 3 个在字符串中。但是,我的程序缺少信息。我试图确保我的程序可以针对我正在寻找的特定频率。 0.
到目前为止,这是我的程序:
public class FindMaxandMinofString {
public static void main(String[] args) {
char charToLookFor;
String s = "test";
int count = 0;
for (charToLookFor = 'a'; charToLookFor = 'z' ;charToLookFor++)
{
for(int l = 0; l < s.length(); l++) {
if(s.charAt(l) == charToLookFor)
count++;
}
System.out.print(count);
}
您可以使用散列集完成此任务 - 当您找到一个字符时,将其添加到散列集中。在遍历整个字符串后,您的答案将是 26 减去最终哈希集的大小。
不要从 0 开始计数,而是从 26 开始计数,每当找到新字母时从中减去。当你找到一个时,它会从循环中导入到 break
,否则你可能会多次计算每个字母。
public class FindMaxandMinofString {
public static void main(String[] args) {
char charToLookFor;
String s = "test";
int count = 26;
for (charToLookFor = 'a'; charToLookFor <= 'z' ;charToLookFor++)
{
for(int l = 0; l < s.length(); l++)
{
if(s.charAt(l) == charToLookFor)
{
count--;
break;
}
}
}
System.out.print(count + " letters");
}
}