2011-01-22 2 views
0

Si j'ai une liste de paires de valeurs séparées, comment puis-je calculer l'indice d'un nombre donné (c'est-à-dire que l'entrée est dans l'intervalle)? Par exemple:Formule pour les coordonnées dans un intervalle croissant linéairement

f([[0, 2], [3, 6], [7, 10]], 4) == 1 

Édition - Pour clarifier, je sais que l'algorithme naïf est assez évident. J'ai l'impression qu'il y a une solution à temps constant (ou au moins meilleure que linéaire).

+0

sont tous les intervalles non-chevauchement et monotones? –

+0

Ils peuvent se chevaucher aux limites (c'est-à-dire, [0, 2], [2, 5]), et oui je pense que c'est monotone. – wes

Répondre

0

est un exemple ici en Python

def f(intervals, value): 
    for i in intervals: 
     if (value >= i[0]) and (value <= i[0]): 
      return True 
    return False 
Questions connexes