[Python] Busca binária em python dando wrong answer no Moj

Discussão em 'Python' iniciado por Stack, Setembro 24, 2024.

  1. Stack

    Stack Membro Participativo

    def busca(num, a, primeiro, ultimo):
    meio = int((primeiro + ultimo) / 2)
    if num == a[meio]:
    return meio
    elif num < a[meio]:
    return busca(num, a, primeiro, meio)
    else:
    return busca(num, a, meio+1, ultimo)

    arr = [int(x) for x in raw_input().split()]
    tamArray = arr[0]
    numQuery = arr[1]

    arr = []
    arr = [int(x) for x in raw_input().split()]

    i = 0
    while i < numQuery:
    num = int(input())
    try:
    print(busca(num, arr, 0, tamArray-1))
    except:
    print(-1)
    i += 1


    Este é o código. A questão do moji pede as seguintes entradas: Primeira entrada: N e Q, sendo N a quantidade de numeros no array ordenado e Q a quantidade de buscas a serem realizadas.

    Segunda entrada: Array ordenado

    Próximas Q entradas: números a serem buscados.

    Para cada busca, deve-se retornar a posição do número no vetor (começando com 0) e, caso não encontre, retornar -1

    Este é o link do exercício caso alguem tenha ficado com dúvidas ainda: http://www.spoj.com/problems/BSEARCH1/

    Continue reading...

Compartilhe esta Página