Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: DNA Tech :: Transforme seu ERP Protheus: Customizações e Soluções Personalizadas para Impulsionar seu Negócio

_Créditos das imagens: ChatGPT (DALL·E) **Transforme seus sistemas com customizações e bibliotecas personalizadas para o TOTVS Microsiga Protheus** 🔧 **Você sabia que customizações bem planejadas são fundamentais para o sucesso de qualquer sistema ERP?** Com a minha experiência no desenvolvimento de soluções personalizadas para o **TOTVS Microsiga Protheus**, posso ajudar sua empresa a alcançar maior eficiência, sem os riscos de instabilidade e altos custos. 🚀 **Por que a customização é importante?** O Protheus, como qualquer ERP robusto, muitas vezes não atende perfeitamente às necessidades específicas de cada negócio. Customizar a plataforma significa garantir que ela esteja alinhada com os processos da sua empresa, melhorando a eficiência, a usabilidade e a integração com outros sistemas. **Uma customização bem feita pode ser a diferença entre a evolução ou a estagnação do seu sistema.** ⚙️ **Minha experiência em customizações para Protheus** Tenho anos de experiência em ...

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