¿Cómo encuentro el elemento de matriz más cercano a un número arbitrario (no miembro)?

Preguntas aparentemente similares: "Encontrar el número más cercano en una matriz"(en Java) y"encontrar la coincidencia más cercana al conjunto de dobles"(en realidad un problema de geografía).

Tengo una matriz (ordenada) de dobles. Dado un número arbitrario (que puede ser o no una coincidencia exacta para uno de los elementos de la matriz), ¿cómo puedo devolver el índice del número que es la coincidencia más cercana?

Por ejemplo, usando la siguiente matriz:

1,82,42.73.14.5 4.5

Consultar 2.5 devolvería un índice de 1, correspondiente al valor de 2.4.

Puntos de bonificación para detectar valores que se encuentran completamente fuera del rango de los elementos de la matriz. Por ejemplo, usando la matriz listada anteriormente, su código puede decidir que 4.6 está dentro, pero 5.9 está fuera. Si desea probar esta parte de la pregunta, los detalles están en sus manos.

Respuestas a la pregunta(5)

Su respuesta a la pregunta