我正在尝试计算排序数组中任意两个数字之间的最短距离。我正在使用下面的算法对其进行测试,但我在下面直接收到以下错误;哪个说明我的数组超出范围,所以显然它正在尝试访问不在数组长度内的索引?不知道为什么,因为我在 for 循环中检查了长度。有人有线索吗?
public static void getSmallestDistance(int[] integersCount)
{
int index = 0;
for(int i = 1; i < integersCount.length; i++ )
{
if( Math.abs(integersCount[index] - integersCount[index + 1]) >
Math.abs( integersCount[i] - integersCount[i + 1]))//line 73 were error is
{
index = i;
}
}
System.out.println(index);
}
我收到以下错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1000
at ClosestPair.getSmallestDistance(ClosestPair.java:73)
at ClosestPair.main(ClosestPair.java:57)