Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
|
Como encontrar o número de subsequências de soma igual a k em Java - Programação Dinâmica em Java - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 451 vezes |
|
Pergunta/Tarefa: O desafio de se encontrar o número de sub-arrays ou sub-vetores que contenham uma soma igual a um determinado número está presente em praticamente todas as listas de exercícios para a prática de programação dinâmica em Java. Este problema consiste em, dado um vetor v[], você deve retornar a quantidade de subsequências de soma igual a um determinado número k. Os sub-arrays incluídos na contagem devem ser contíguos, ou seja, os elementos da subsequência deverão estar consecutivos no vetor original. Então, dado o vetor [5, 1, 2, 4, 3, -1, 4], encontre a quantidade de subarrays cuja soma dos elementos seja igual a 6. Sua saída deverá ser parecida com: O vetor é: [5, 1, 2, 4, 3, -1, 4] Encontrei 4 subarrays com a soma indicada [5, 1] [2, 4] [4, 3, -1] [3, -1, 4] Resposta/Solução: Veja a resolução comentada deste exercício usando Java: Atenção: Existem muitos algoritmos refinados para uma solução mais eficiente deste problema. Aqui eu apresento a solução usando força-bruta. Essa é a forma mais ineficiente e que consome mais tempo e recursos da máquina. No entanto, esta é também a forma mais fácil de entender o algoritmo aplicado.
|
|
![]() |
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |