leetcode 877 juego de piedras

1. Descripción del problema

Alex y Lee juegan con montones de piedras. Hay un número par de pilas dispuestas en una fila, y cada pila tiene un número entero positivo de piedras piles[i].
El objetivo del juego es acabar con la mayor cantidad de piedras. El número total de piedras es impar, por lo que no hay ataduras.

Alex y Lee se turnan, y Alex comienza primero. Cada turno, un jugador toma toda la pila de piedras del principio o del final de la fila. Esto continúa hasta que no queden más montones, momento en el que gana la persona con más piedras.

Suponiendo que Alex y Lee juegan de manera óptima, devuelva True si y solo si Alex gana el juego.

Alex y Lee están jugando con montones de piedras. Los montones de piedras pares están dispuestos en una fila, y cada montón tiene un número entero positivo de piedras [i].

El juego lo decide quién tiene más piedras. El número total de piedras es impar, por lo que no hay empate.

Alex y Lee se turnan y Alex comienza primero. En cada ronda, el jugador toma toda la pila de piedras desde el principio o al final de la fila. Esta situación continúa hasta que no queden más montones de piedras, momento en el que gana el jugador con más piedras en la mano.

Suponiendo que tanto Alex como Lee están en su mejor momento, devuelva verdadero cuando Alex gana el juego y falso cuando Lee gana el juego.

Entrada: [5,3,4,5]
Salida: verdadero
Explicación:
Alex comienza primero y solo puede tomar las primeras 5 o las últimas 5 piedras.
Supongamos que tomó los primeros 5, esta línea se convierte en [3, 4, 5].
Si Lee toma los primeros 3, entonces el resto es [4,5], y Alex toma los últimos 5 y gana 10 puntos.
Si Lee toma los últimos 5, entonces el restante es [3,4], Alex toma los últimos 4 y gana 9 puntos.
Esto muestra que tomar las primeras 5 piedras es un movimiento ganador para Alex, por lo que volvemos verdaderos.

2. Solución

Esta pregunta parece muy complicada, pero en realidad es muy fácil ...
Preste atención a las dos condiciones importantes anteriores: el número de pilas de piedras es par y el número total es impar.
Tome el ejemplo de prueba para analizar, hay un total de 4 pilas de piedras, y Alex tomará la primera y la tercera pila (el índice de la matriz comienza con 1), o la segunda y la cuarta pila. En otras palabras, toma la pila impar o la pila par. Debido a que el total es un número impar, el número de piedras en la pila impar y en la pila par debe ser inconsistente. Entonces, Alex solo necesita observar de antemano si hay más piedras en montones impares o montones pares, y luego seleccionar la estrategia correspondiente, ¡y definitivamente ganará!

La solucion final es

public boolean stoneGame(int[] piles) {
    return true;
}

Supongo que te gusta

Origin blog.csdn.net/bitcarmanlee/article/details/114103301
Recomendado
Clasificación