Categorías
Algorithms

LeetCode – Juego Flip (Java)

Estás jugando al siguiente juego del tirón con tu amigo: Dada una cadena que contiene solo estos dos caracteres: + y -, tú y tu amigo se turnan para convertir dos «++» consecutivos en «-«. El juego termina cuando una persona ya no puede hacer un movimiento y, por lo tanto, la otra persona será la ganadora.

Escribe una función para calcular todos los estados posibles de la cadena después de un movimiento válido.

Solución Java

public List<String> generatePossibleNextMoves(String s) {
    List<String> result = new ArrayList<String>();
 
    if(s==null)
        return result;
 
    char[] arr = s.toCharArray();
    for(int i=0; i<arr.length-1; i++){
        if(arr[i]==arr[i+1] && arr[i]=='+'){
            arr[i]='-';
            arr[i+1]='-';
            result.add(new String(arr));
            arr[i]='+';
            arr[i+1]='+';
        }
    }
 
    return result;
}

  LeetCode - Árbol simétrico (Java)

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *