java - 计算数组中两个相邻数字之间的最大差值

标签 java arrays difference

最近我被分配了一项任务,要求我“计算传递给它的数组中两个相邻数字之间的最大差值”。我是 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/

相关文章:

java - 致命信号 11 (SIGSEGV) 位于 0x00000010(代码=1)

java - java.util.Date 的有效范围?

javascript - 使对象的对象成为一个对象javascript

Java发现时间之间的差异

c++ - 在 C++ 中,VOID 和 void 有区别吗?

java - Spring 中的 Elasticsearch HTTP 身份验证

java - Runtime.getRuntime.exec() 卡在它在不同情况下运行的相同命令上

javascript - 使用 Lodash 从集合中查找重复值

c - 在 C 中对 double 数组进行排序

R 指定时间戳差异的单位