Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: Agentes de IA em Harbour (xBase)

_Créditos das imagens: ChatGPT 💡 **Agentes de IA em Harbour (xBase)** [**naldodj-hb-ai-agents**](https://github.com/naldodj/naldodj-hb-ai-agents), um framework open-source para criação de agentes de IA autônomos em Harbour! 🚀 Inspirado no trabalho original da FiveTech Software, este projeto expande essa ideia para desenvolvedores xBase, permitindo a automação de tarefas com classes como `TAgent` e `TOLlama`. Agora, seu código pode manipular arquivos, realizar cálculos e até responder perguntas como "Que horas são?". 🔹 **Destaques:** ✅ **Modular e prático** – Crie pastas, edite arquivos e interaja de forma inteligente. ✅ **Requisitos mínimos** – Harbour + Ollama instalados localmente. ✅ **Confiabilidade** – Inclui uma suíte de testes (`hb_agents.prg`). 📌 Confira no GitHub: [naldodj-hb-ai-agents](https://github.com/naldodj/naldodj-hb-ai-agents). 📌 Referência: [Class TOllama with Agents](https://forums.fivetechsupport.com/viewtopic.php?t=45590) (FiveTec...

BlackTDN :: LeetCode :: Solução do Problema "Add Two Numbers" em x(Base)Harbour/TLPP



_Créditos das imagens: ChatGPT_

# LeetCode :: Solução do Problema "Add Two Numbers" em x(Base)Harbour/TLPP

O problema [**Add Two Numbers**](https://leetcode.com/problems/add-two-numbers/) do LeetCode desafia os desenvolvedores a somar dois números representados por listas ligadas, onde cada nó contém um único dígito armazenado em ordem inversa. A solução deve retornar a soma como uma nova lista ligada, também em ordem inversa.

Neste artigo, exploramos uma solução implementada em **x(Base)Harbour/TLPP**, uma linguagem baseada no xBase. A abordagem apresentada também pode ser facilmente adaptada para linguagens derivadas do xBase, como **AdvPL/TLPP**.

---

## Resumo do Problema

### Exemplo 1:
- **Entrada:** `l1 = [2,4,3]`, `l2 = [5,6,4]`  
- **Saída:** `[7,0,8]`  
- **Explicação:** 342 + 465 = 807.

### Exemplo 2:
- **Entrada:** `l1 = [0]`, `l2 = [0]`  
- **Saída:** `[0]`

### Exemplo 3:
- **Entrada:** `l1 = [9,9,9,9,9,9,9]`, `l2 = [9,9,9,9]`  
- **Saída:** `[8,9,9,9,0,0,0,1]`

**Restrições:**
- O número de nós em cada lista está no intervalo `[1, 100]`.
- Cada nó contém um único dígito no intervalo `[0, 9]`.
- Os números não possuem zeros à esquerda, exceto o número 0.

---

## Implementação em x(Base)Harbour/TLPP

A solução está disponível no repositório GitHub:  
👉 [**add_two_numbers.2.2.prg**](https://github.com/naldodj/naldodj-xbase-leetcode-solutions/blob/main/src/hb/002/add_two_numbers.2.2.prg)

### Estrutura do Código

#### Função Principal (`Main`)
A função principal executa testes com diferentes entradas para validar a solução.

#### Função `addTwoNumbers`
A função realiza a soma de dois números representados como arrays de dígitos.

---

## Adaptação para AdvPL/TLPP

Dada a similaridade do x(Base)Harbour/TLPP com AdvPL/TLPP, esta solução pode ser utilizada com **poucas alterações** nessas linguagens. Funções como `hb_JSONEncode` podem ser substituídas por métodos equivalentes em AdvPL, e estruturas de controle são quase idênticas.

### Exemplos de Alterações Necessárias
1. Substituir `hb_JSONEncode` por uma função customizada ou equivalente para formatar os resultados.
2. Garantir que o comportamento de arrays e funções de manipulação sejam compatíveis com o runtime AdvPL/TLPP.

---

## Exemplo de Uso

```x(Base)Harbour/TLPP
? "Sum: [2,4,3]+[5,6,4] => ", hb_JSONEncode(addTwoNumbers({2,4,3}, {5,6,4}))
// Saída: [7,0,8]
```

Este exemplo demonstra como os números são representados em arrays, manipulados e retornados de forma eficiente.

---

## Conclusão

A implementação em x(Base)Harbour/TLPP é uma solução clara e eficiente para o problema "Add Two Numbers". A flexibilidade da linguagem facilita a manipulação de estruturas como arrays, permitindo que problemas algorítmicos clássicos sejam resolvidos de maneira prática.

Além disso, a compatibilidade com **AdvPL/TLPP** abre novas possibilidades para programadores que trabalham com linguagens derivadas do xBase em sistemas como o **TOTVS Protheus**.

---

## Hashtags

#xBaseHarbourTLPPLang #AdvPL #TLPP #LeetCodeSolutions #AddTwoNumbers #Algoritmos #Programação #EstruturasDeDados #DesenvolvimentoDeSoftware #xBaseSolutions

Comentários

Postagens mais visitadas