我写了一个(到目前为止不完整的)方法,该方法应该接受一个int整数,找到相邻单元之间的差异,然后返回最小的差值。数组练习混淆
例如:
[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”来处理。
请让我知道您的建议。
不要全部比较它们。将第一个结果存储在变量中,并将以下结果与该变量进行比较。如果当前结果较小,则替换变量结果。 – AntonH