gpt4 book ai didi

Java 实验室 - 计算运行次数

转载 作者:行者123 更新时间:2023-12-02 02:26:53 25 4
gpt4 key购买 nike

语言:Java

没有语法错误并通过了编译器但未通过我的测试器。谁能告诉我我在这里做错了什么?

以下是实验室文本说明该方法要执行的操作的内容:“计算 arr 的子数组中从索引 start 到索引 end 有多少次运行(相等元素的连续 block )”

另外:我不允许在本实验中使用任何循环,但 if-else 语句是可以的。

参数:arr = 数组,start/end = 开始/结束索引

public class Recursion {
int countRuns(int[] arr, int start, int end) {
if (start >= end)
return 0; //checks for null arrays

int counter = 0;
if (start == 0)
counter = 1;

//check the next element for similarity/difference
if (arr[start] != arr[start+1])
counter = 1;

return counter + countRuns(arr, start + 1, end);
}
}

最佳答案

我认为你只是稍微错过了开始和结束的条件..这应该有效:

public class Recursion {
int countRuns(int[] arr, int start, int end) {
if (start > end)
return 0; //checks for null arrays

if (start == end) // the indices are inclusive
return 1;

int counter;
if (arr[start] == arr[start + 1]) {
counter = 0; // we'll still be in the same run, if they're equal
} else {
counter = 1; // otherwise it's a new run
}

return counter + countRuns(arr, start + 1, end);
}
}

关于Java 实验室 - 计算运行次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47664428/

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