gpt4 book ai didi

Java-使用整数

转载 作者:行者123 更新时间:2023-11-29 04:38:04 24 4
gpt4 key购买 nike

编写一个名为 digitsInARow 的静态方法,它接受一个整数 n 作为参数,并返回以 n 的 10 进制表示形式出现在一行中的最大数字数。对于许多数字,答案将是 1,因为它们没有匹配的相邻数字。但是对于像 3555585 这样的数字,答案是 4,因为数字 5 在一行中出现了四次。您不允许使用字符串来解决此问题。您可以假设传递给该方法的值大于或等于 0。

public static int digitsInARow(int n) {
if (n / 10 == 0) {
return 1;
}
int count = 0;
int count1 = 0;

while (n > 0) {
int digit = n % 10;
int a = n / 10;
if (digit == a % 10) {
count++;
} else {
count1 = Math.max(count1, count);
count = 0;
}
n = n / 10;
}
return Math.max(count, count1);
}

我知道 if 语句搞砸了。我想找出一种方法来比较连续数字而不使用 Integer 类或 String 类。有什么建议吗?

最佳答案

您的代码的问题在于 count 跟踪当前 计数,而不是最高计数。您还需要添加一个跟踪最高计数的变量,并在每次处理数字时更新它,count 重置为零之前。

不要忘记在退出循环时更新最高计数,以防当前 count 大于先前找到的 max

关于Java-使用整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40399850/

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