【发布时间】:2014-04-03 22:28:15
【问题描述】:
我已经编写了一个(到目前为止不完整)方法,它应该采用一个整数数组,找到相邻单元格之间的差异,然后返回最小的差异。
例如:
[9, 16, 4, 8, 20] --> 7, 12, 4, 12 --> 4
[12, 21, 33, 6, 3, 3] --> 9, 12, 27, 3, 0 --> 0
这是我的方法:
public static int minGap(int[] a) {
int gap = 0;
for (int i = 0 ; i < (a.length - 1) ; i++) {
gap = Math.abs(a[i + 1] - a[i]);
System.out.println(gap);
}
return gap;
}
我相信我的中间步骤是正确的(找出差异),但我无法弄清楚如何比较所有这些并产生最小的一个。我假设我将使用 if 语句,但我只有一个变量“gap”可以使用。
请告诉我你的建议。
【问题讨论】:
-
不要全部比较。将第一个结果存储在一个变量中,并将以下结果与该变量进行比较。如果当前结果较小,则替换变量结果。
标签: java arrays variables methods