LeetCode-Python-294. Juego Flip II

Leetcode Python 294 Flip Ii Game

Usted y sus amigos juegan al llamado juego de 'flip game' reglas del juego: Dadas solo una cadena + y -. Tú y tus amigos se turnan para ver dos '++' consecutivos invertidos en '-'. Cuando una de las partes no se puede voltear efectivamente significaría el final del juego, la otra parte gana.

Escriba una función para determinar si existen soluciones para el primer jugador en ganar.



Ejemplo:



Entrada: s = '++++'
Salida: verdadero
Análisis: El primer jugador puede estar en medio de '++' volteado a '+' y así ganar.
extensión:
derivar una complejidad de tiempo del algoritmo.



Fuente: botón de estancia (LeetCode)
Enlace: https: //leetcode-cn.com/problems/flip-game-ii
red todo el botón del collar de derechos de autor. Reimpresión comercial, póngase en contacto con el funcionario autorizado, reimpresión no comercial, indique la fuente.

La primera idea:

Si después de voltear una vez, genero nuevas cadenas amigo para perder, entonces gana en mi nombre,



¿Cómo juzgar a un amigo perder no perderlo? Llamadas recursivas a sí mismo.

|_+_|

La segunda idea:

La primera idea es relativamente lenta, e imprime los s que se pueden encontrar en cada llamada, se repetirán s,

Por lo tanto, esta vez es posible que desee tomar recuerdos del método, utilizando una tabla hash para almacenar las respuestas de cada llamada.

|_+_|