gpt4 book ai didi

java - 计算所有字符序列

转载 作者:行者123 更新时间:2023-12-01 18:00:17 25 4
gpt4 key购买 nike

我有一个字符数组“A”和“B”

计算“运行次数”的明智方法是什么

示例:

AABBBAAAABBAB

应该是 6,因为有 6 次运行,如下所示。

1    2    3     4   5  6
AA BBB AAAA BB A B

尝试过类似的事情:

if (!(sortedRuns.get(i) == sortedRuns.get(i+1))) {
runsAmount++;
}

但显然遇到了“越界问题”

最佳答案

问题

e.g char array      A A B B C C
array positions 0 1 2 3 4 5

当您到达位置 5 时,sortedRuns.get(i+1) 意味着 5+1=6 不存在,因此出现异常

解决方案

1.) 遍历数组

2.) 如果字符发生变化则增量运行并将新字符分配给 temp char

String s="AABBBAAAABBAB";
int run=1;
// fetch first char
char temp=s.charAt(0);

// traverse char array
for (char ch : s.toCharArray()) {
// assign value of new char to temp and increment run
// when value of char changes
if (ch!=temp) {
run++;
temp=ch;
}

}
System.out.println(run);

输出:

6

关于java - 计算所有字符序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41504568/

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