gpt4 book ai didi

java - 确定字符出现的最大次数并返回起始索引

转载 作者:太空宇宙 更新时间:2023-11-04 12:45:13 25 4
gpt4 key购买 nike

这是我的代码,

帮我找到解决这个问题的方法。我在纸上提出了这个问题,这是我当时可以做的代码。在下面的示例中,它应该返回 3。(“d”的起点)

public class HelloWorld {

public static void main(String []args){
int result = getMax("haaddddddddccf");
System.out.println(result);
}

public static int getMax(String input){
int length = input.length();

int count = 0;
int max = 0;
int tempCount = 0;

for(int i=0;i<length-1;i++) {
if(input.charAt(i) == input.charAt(i+1)) {
count ++ ;
}
tempCount = count;
count = 0;

if(max > tempCount) {
max = tempCount;
return i;
}

tempCount = 0;
}
return 0;
}
}

最佳答案

像这样怎么样:

public class HelloWorld {

public static void main(String []args){
int result = getMax("haaddddddddccf");
System.out.println(result);
}

public static int getMax(String input){
int length = input.length();

int maxIndex = 0;
int max = 0;
int count = 1;
char current = input.charAt(0);
int index = 0;

for(int i=1; i<length-1; i++) {
if(input.charAt(i) == current) {
count ++ ;
if(count > max) {
max = count;
maxIndex = index;
}
}
else {
count = 1;
current = input.charAt(i);
index = i;
}
}
return maxIndex;
}
}

这会遍历整个字符串并计算字符的连续出现次数。如果计数超过观察到的最大值,则保存该系列连续字符的起始索引以及字符数。如果字符发生变化,当前值将重置并重新开始计数。遍历整个列表后,最长连续字符序列的索引位于 maxIndex 中。

关于java - 确定字符出现的最大次数并返回起始索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36401486/

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