BlackTDN :: LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código
_Créditos das imagens: ChatGPT **Título:** LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código **Introdução** Olá, entusiastas de Harbour/xBase e desafios de programação! Depois de explorarmos como mesclar duas listas ordenadas no [nosso post sobre o LeetCode 21](https://www.blacktdn.com.br/2025/03/blacktdn-leetcode-21-merge-two-sorted.html), vamos dar um passo adiante e enfrentar um problema um pouco mais complexo: o LeetCode 23 - Merge K Sorted Lists. Neste artigo, vamos desvendar uma implementação em Harbour/xBase para este desafio, demonstrando como podemos inteligentemente reutilizar a solução que já construímos para o problema 21. Veremos como a modularidade e a construção sobre soluções anteriores podem simplificar problemas mais complexos. **O Problema: LeetCode 23 - Merge K Sorted Lists** O desafio é o seguinte: dado um array (`aLists` em nossa implementação) contendo `k` listas encadeadas, onde cada lista já está ordenada em ordem cres...
Eai Naldo blz,
ResponderExcluir(Isso não é uma critica, sem te conhecer tenho um respeito e admiração por você. Por correr atrás e disponibilizar tempo para atender a todos.) Porém...
...tenho visto você atendendo a pedidos das pessoas.
Seu blog pode acabar virando um site cheio de dicas mas como um forum, e isso nao seria bacana.
Faça o seguinte, quando alguém lhe perguntar,
?como faço?, ?deu erro?, ?me ensina?
Pegue o problema dele e explique a raiz, faça-o entender explique como as coisas acontecem e assim consequentemente ele ira aprender.
Sei de sua vontade de ajudar,
e admiro. Espero um dia poder contribuir para
o conhecimento de outros também.
Abs,
mais um Anônimo!
Os exemplos são a base para o conhecimento. A partir deles, os interessados em aprender, irão se aprofundar e, na dúvida, buscarão novos exemplos tornando o aprendizado uma constante.
ResponderExcluirMeus exemplos são quase que completos (complexos às vezes), mas têm um fim. Fazer pensar, incitar ao aprendizado e divulgar o conhecimento além de elucidar o desconhecido e perpetuar o saber.
"Tô Certo!"
[]s
иαldσ dj
Opa, eai pessoal.
ResponderExcluir(иαldσ dj, peço licença para completar seu post)
Uma dica para update do post!
Muitas pessoas (inclusive eu já fiz muito) fazem
um laço ::FOR:: percorrendo posições do array da
seguinte forma.
Ex:
For n := 1 To Len(aArrayExemplo)
/*
...Instruções
*/
Next n
Mas como foi mostrado no exemplo acima para o
laço ::WHILE::, a comparação que define a condição de parada
do laço, irá ocorrer para cada volta ou 'loop',
pois a condição será testada, neste exemplo a função ::Len(aArray)::
E nessa comparação a função ::LEN:: será executada
proporcionalmente ao tamanho do array usado.
Portanto, a forma que produz melhor performance é;
//Declare uma variável para controle dos laços e atribua a ela o valor retornado da função ::LEN::
nArraySize := Len(aArrayExemplo)
//Em seguida o ::FOR::
For n := 1 To nArraySize
/*
...Instruções
*/
Next n
Assim como foi explanado pelo иαldσ dj, as mesmas otimizações para um laço, são equivalentes para o ::WHILE:: e para o ::FOR::.
[]'s
Sérgio