最近我被分配了一项任务,要求我“计算传递给它的数组中两个相邻数字之间的最大差值”。我是 Java 的新手(我过去只做过 VB)并且由于没有很好地向我解释这个主题,所以我不太确定如何去做。
这里是关于任务本身的一些附加信息:
该函数必须通过以下测试。函数 maxDiff 应该计算传递给它的数组中两个相邻数字之间的最大差值。
@Test
public void assessmentTest() {
int [] numbers = {12, 8, 34, 10, 59};
assertEquals(49, maxDiff(numbers));
int [] numbers2 = {-50, 100, 20, -40};
assertEquals(150, maxDiff(numbers2));
}
最佳答案
一定要保证取绝对差,不要忘记。这就是我使用 Math.abs() 函数的原因。
public static int maxDiff(int[] numbers) {
int diff = Math.abs(numbers[1] - numbers[0]);
for(int i = 1; i < numbers.length-1; i++)
if(Math.abs(numbers[i+1]-numbers[i]) > diff)
diff = Math.abs(numbers[i+1] - numbers[i]);
return diff;
}
关于java - 计算数组中两个相邻数字之间的最大差值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33850086/