DE ACUERDO. No soy un matemático. Soy programador, así que perdóname por la jerga no matemática.
digamos que tengo 3 rangos
[1 - 3] // index 0
[4 - 6] // index 1
[7 - 13] // index 2
etc etc etc with any arbitrary sorted, non-overlapping range
¿Es matemáticamente posible hacer algo así?:
func(2) -> should print result index[0]
o
func(8) -> should print result index[2]
La idea es que quiero proporcionar cualquier arbitraria clasificado y almacenarlo como un hash. Los rangos no se solapan.
A continuación, proporcione un número al func
y debería decirme el índice.
Para ello, creo que necesitaría (por ejemplo el primer rango), tomar los números 1, 2, 3
y convertirlo en un hash. De modo que si una entrada de digamos 2
se asignaría a ese hash exacto.
¿Es posible?
[No sé a qué área de las matemáticas corresponde esta pregunta].
Editar : El recuento de rangos puede ser cualquier cantidad. Estoy tratando de evitar bucles. El recuento puede llegar hasta 60k. Es por eso que me preguntaba si hashing era posible con las matemáticas dados los requisitos anteriores. Si es posible en matemáticas, entonces será posible en código.
Editar #2 : Mi intento de hacer la pregunta más matemática como .. espero.
¿Es posible tomar una lista de enteros ordenados: digamos 5 => [1, 2, 3, 4, 5] Y crear un hash con ellos, tal que sea posible lo siguiente.
func(0) results false
func(6) results false
func(1) results true
func(2) results true
func(3) results true
func(4) results true
func(5) results true