Ejercicios de Backtracking: Combinaciones y Permutaciones
Clase 49 de 52 • Curso de Algoritmos Avanzados: Grafos y Árboles
Ejercicios recomendados de Backtrack
Combinación de Sumas Dada una matriz de enteros distintos candidatos y un entero objetivo, devuelve una lista de todas las combinaciones únicas de candidatos en las que los números elegidos suman el objetivo. Puede devolver las combinaciones en cualquier orden. El mismo número puede ser elegido entre los candidatos un número ilimitado de veces. Dos combinaciones son únicas si la frecuencia de al menos uno de los números elegidos es diferente. Los casos de prueba se generan de forma que el número de combinaciones únicas que suman el objetivo sea inferior a 150 combinaciones para la entrada dada.
Ejemplo 1: Entrada: candidatos = [2,3,6,7], objetivo = 7 Salida: [[2,2,3],[7]] Explicación: 2 y 3 son candidatos, y 2 + 2 + 3 = 7. Nótese que 2 puede usarse varias veces. 7 es un candidato, y 7 = 7. Estas son las dos únicas combinaciones.
Permutaciones Dado un array nums de enteros distintos, devuelve todas las permutaciones posibles. Puede devolver la respuesta en cualquier orden.
Ejemplo 1: Entrada: nums = [1,2,3] Salida: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
Ejemplo 2: Entrada: nums = [0,1] Salida: [[0,1],[1,0]]
Combinaciones de Letras Dada una cadena s, se puede transformar cada letra individualmente para que sea minúscula o mayúscula para crear otra cadena. Devuelve una lista de todas las posibles cadenas que podríamos crear. Devuelve la salida en cualquier orden.
Ejemplo 1: Entrada: s = "a1b2" Salida: ["a1b2","a1B2","A1b2","A1B2"]
Ejemplo 2: Entrada: s = "3z4" Salida: ["3z4", "3Z4"]
Permutaciones Dado un array nums de enteros distintos, devuelve todas las permutaciones posibles. Puede devolver la respuesta en cualquier orden.