TÓPICO
Run time error - python 3
PierreVieira perguntou 4 years ago
Estou recebendo RTE nesse código. Funciona perfeitamente para as entradas do uDebgu!
def binary_search(array, item, begin=0, end=None):
if end is None: # Se o end é None, então estamos fazendo a primeira chamada à função
end = len(array) - 1 # Logo a posição final deve ser o tamanho da lista - 1
if begin <= end: # Se a sublista é válida
m = (begin + end) // 2 # Meio da lista
if array[m] == item: # Se o meio da lista é o elemento que estamos pesquisando
inicio, fim = 0, end
for i in range(m, -1, -1): # Calculando onde começa a sequencia
if array[i] != item:
inicio = i + 1
break
for i in range(m, end + 1): # Calculando onde termina a sequencia
if array[i] != item:
fim = i - 1
break
return inicio, fim
if item < array[m]: # Se o ítem pesquisado for menor que o ítem que está no meio da lista
return binary_search(array, item, begin, m - 1) # Faça a pesquisa pela esquerda
return binary_search(array, item, m + 1, end) # Senão, quer dizer que ele está a direita da lista
return None # Caso o elemento não esteja na lista retorne None
def solve_this_problem():
lista = []
for c in range(n):
a, b = map(int, input().split())
for d in range(a, b + 1):
lista.append(d)
elemento = int(input())
lista.sort()
indice = binary_search(lista, elemento)
if indice is None:
print('{} not found'.format(elemento))
else:
print('{} found from {} to {}'.format(elemento, indice[0], indice[-1]))
while True:
try:
n = int(input())
except EOFError:
break
else:
solve_this_problem()
Este tópico ainda não foi respondido. Seja o primeiro!