gpt4 book ai didi

java - CodingBat AP-1,任务号。 4?

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

我对 CodingBat 的 AP-1 类别中的“scoresAverage”任务有一些问题。该任务内容如下:

Given an array of scores, compute the int average of the first half and the second half, and return whichever is larger. We'll say that the second half begins at index length/2. The array length will be at least 2. To practice decomposition, write a separate helper method
int average(int[] scores, int start, int end) { which computes the average of the elements between indexes start..end. Call your helper method twice to implement scoresAverage(). Write your helper method after your scoresAverage() method in the JavaBat text area. Normally you would compute averages with doubles, but here we use ints so the expected results are exact.

好吧,按照规则,我编写了一段分解代码,但由于某种神秘的原因,它不能 100% 正常工作。这是我的代码:

public int scoresAverage(int[] scores) {
int startFirst=0;
int endFirst=scores.length/2;

int startSecond=scores.length/2;
int endSecond=scores.length;

int a=average(scores,startFirst,endFirst);
int b=average(scores,startSecond,endSecond);

int avg = Math.max(a,b);
return avg;
}

public int average(int[] scores, int start, int end) {
int count=0;
for (int i=start;i<end;i++){
count+=scores[i];
}
return count/end;
}

输出在某些测试中表现良好,但在其他测试中则不然,我看不出原因!你可以自己在CodingBat上测试我的代码:http://codingbat.com/prob/p123837

请不要给我写完全不同的代码,除非我的代码真的没用!我知道一定有数百万种方法可以解决这个问题,而且我也认为我的方法不是最好的方法之一(我是个菜鸟),但我仍然想首先知道我的代码有什么问题。不过,更好/更简单的替代方案非常受欢迎。

提前谢谢您。 :)

最佳答案

我认为你的问题是当你实际计算长度的平均值时。我是这样做的;不要感到有使用它的压力...

int average( int[] scores, int start, int end ) {
int sum = 0;
for ( int i = start; i < end; ++i ) {
sum += scores[i];
}
return ( sum / ( end - start ) );
}

正如你所知道的 -> return count/end;和我的不同。

如果您有兴趣,您可以使代码更加简洁,就像这样......

public int scoresAverage(int[] scores) {
int a1 = average( scores, 0, scores.length / 2 );
int a2 = average( scores, scores.length / 2, scores.length );
return ( a1 > a2 ) ? a1 : a2;
}

关于java - CodingBat AP-1,任务号。 4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24128640/

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