嗨,大家好,我想知道是否有可能在arraylist中找到最接近的值,這會返回更高的值。Java - 在數組列表中找到最接近的值(更高)
示例:[3,7,12,19]的數組列表如果我的值是8,我怎樣才能得到最接近(較大)的值12?
嗨,大家好,謝謝你的回覆,我要求邏輯或理解,請不要誤解我在等待答案!我試過這個功能,但我想要的是獲得更接近的更高(更大)的值。這只是給我最接近但不是最大的最接近的價值
public int nearestValue(int value, ArrayList<Integer>List)
{
int lo = 0;
int hi = List.size()-1;
int lastValue = 0;
while(lo <= hi)
{
int mid = (lo + hi) /2;
lastValue = List.get(mid);
if (value < lastValue)
{
hi = mid - 1;
}
else if (value > lastValue)
{
lo = mid + 1;
}
else
{
return lastValue;
}
}
return lastValue;
}
看'Arrays.binarySearch' – Eran
是的,這是可能的。 *你*嘗試過什麼? –
堆棧不是資源,您可以在其中請求完成您的工作。自己嘗試一下,放入代碼並寫入,白色會出錯。 – TEXHIK