Solução do Problema de Combinações com Algoritmo Backtracking

Dados dois inteiros n e k, retorne todas as possíveis combinações de k números dentro do intervalo [1, n]. As combinações podem ser retornadas em qualquer ordem. Abordagem Inicial Vamos considerar n=4 e k=2. Uma primeira abordagem seria utilizar laços for aninhados: for (int i=1; i<=4; ++i) { for (int j=i+1; j<=4; ++j) { // Armazen ...

Publicado em 7-3 17:21

Geração de Permutações Únicas com Números Repetidos em Go

Dado um array de números inteiors nums que pode conter elementos duplicados, retorne todas as permutações únicas possíveis em qualquer ordem. Exemplo: Entrada: nums = [1,1,2] Saída: [[1,1,2], [1,2,1], [2,1,1]] Análise do Algoritmo: Para tratar duplicatas, o array deve ser ordenado primeiro para agrupar elementos iguais. Utiliza-se backtracking ...

Publicado em 7-2 20:36

Árvores Binárias, Recursão e Técnicas de Resolução em C++

Problemas Clássicos com Árvores Binárias (sem DP em árvore) Os problemas abaixo não envolvem programação dinâmica em árvore, que será abordada em módulos futuros. Tópicos como árvores AVL e rotações também serão vistos posteriormente. 36.1 Travessia por Nível Método 1: Fila + tabela hash para níveis. Cada nó é armazenado na fila e seu nível ...

Publicado em 6-28 16:07

Desafios de Programação da 360 em Setembro de 2023

Uma empresa possui n funcionários, onde cada funcionário i tem uma habilidade representada por um número inteiro positivo a_i. O projeto requer exatamente ⌈n/2⌉ funcionários, com a soma das habilidades ≥ x. Determine o número de combinações viáveis. Entrada: Múltiplos conjuntos de dados. Cada conjunto inclui n (1≤n≤16), x (1≤x≤2×10⁴) e uma list ...

Publicado em 6-25 16:36