一見似たような質問: 「配列内の最も近い数値を見つける」(Java) および「倍精度の配列に最も近い一致を見つける」(実際には地理の問題)。
double の (ソートされた) 配列があります。任意の数値 (配列要素の 1 つと完全に一致する場合と一致しない場合があります) が与えられた場合、最も近い数値のインデックスを返すにはどうすればよいですか?
たとえば、次の配列を使用します。
- 1.8
- 2.4
- 2.7
- 3.1
- 4.5
2.5 をクエリすると、2.4 の値に対応する 1 のインデックスが返されます。
配列要素の範囲外にある値を検出するためのボーナス ポイント。たとえば、上記の配列を使用すると、コードは 4.6 が入っているが 5.9 が外れていると判断する場合があります。質問のこの部分を試してみたい場合、詳細はあなたの手にあります。