Para probar la oferta de seguridad - un juego de niños (el resto del número de círculo)

título Descripción

día de los niños cada año, vaca-off prepararán algunos pequeños regalos para visitar a los niños del orfanato, este año también es cierto. Como un veterano de HF ganado, naturalmente, hemos preparado algunos juegos. Entre ellos, hay un juego de la siguiente manera: En primer lugar, que los niños rodeadas por un círculo grande. A continuación, asigna aleatoriamente un número m, de manera que el número de niños 0 Número poniendo. Llorado cada vez m-1 los niños cantan una canción a estar fuera de la línea, entonces cualquiera de las cajas de regalo en la elección de un regalo, y no regresar al círculo, empezando por su próximo hijo, continúe 0 m ... -1 número de paquetes .... .... seguir hasta que el último hijo restante, no se puede realizar, y obtener el ganado fuera de los raros "Detective Conan" Edición coleccionista (plazas limitadas oh !! ^ _ ^). ¿Quieres probar siguiente, que los hijos recibirán los regalos que? (NOTA: El número de niños es de 0 a n-1)

Si no hay niños, por favor devuelva -1

pensamiento

Originalmente todavía enredado que no hay manera de calcular directamente, no más tarde descubierto. Cada elemento sólo puede eliminar la especificada

class Solution:
    def LastRemaining_Solution(self, n, m):
        if n == 0:
            return -1
        nums = [i for i in range(n)]
        delIndex = 0
        while len(nums)>1:
            delIndex = (delIndex+(m-1))%len(nums)
            del nums[delIndex]
        return nums[0]

 

Publicado 82 artículos originales · ganado elogios 2 · Vistas 4348

Supongo que te gusta

Origin blog.csdn.net/qq_22498427/article/details/104977086
Recomendado
Clasificación