LeetCode 682: Sistema de Pontuação de Beisebol (C++/Java)

O problema 682 do LeetCode simula um rgeistrador de pontos de um jogo de beisebol. Dada uma lista de strings, cada string pode ser um dos seguintes tipos: Número inteiro: Representa diretamente os pontos ganhos na rodada atual. "+": Os pontos da rodada atual são a soma dos pontos das duas últimas rodadas válidas. "D": Os po ...

Publicado em 7-14 10:33

Tutorial de Funções Recursivas em Python

A recursão em programação é um conceito onde uma função chama a si mesma para resolver um problema. É uma forma de "dividir para conquistar", onde um problema maior é decomposto em subproblemas menores da mesma natureza. O que é Recursão de Função Uma chamada de função aninhada ocorre quando uma função é definida dentro de outra. A ch ...

Publicado em 7-12 20:03

Erros comuns ao programar em Python que você deve evitar

Ao escrever código, desenvolvedores iniciantes em Python raramente consideram a eficiência e a concisão, resultando em código prolixo e com baixo desempenho. Este artigo apresenta alguns exemplos práticos para inspirar iniciantes a escrever código Python de forma mais elegante. Erro 1: Não utilizar estruturas de dados avançadas 1. Conjuntos (se ...

Publicado em 7-11 16:10

Verificação de Árvore de Busca Binária Válida

Descrição do Problema Dado o nó raiz de uma árvore binária, determine se ela é uma Árvore de Busca Binária (BST) válida. Definição de BST válida: A subárvore esquerda de um nó contém apenas nós com valores menores que o valor do nó. A subárvore direita de um nó contém apenas nós com valores maiores que o valor do nó. Tanto a subárvore esquerda ...

Publicado em 7-10 20:37

Árvore de Busca Binária (BST): fundamentos e implementação em Python

Conceito inicial Quando precisamos manter uma coleção de valores ordenados e realizar consultas rápidas, listas simples podem ser insuficientes. Uma árvore de busca binária (BST) organiza os dados de modo que cada valor possa ser localizado descendo por apenas um dos ramos, reduzindo drasticamente o número de comparações necessárias. Regras da ...

Publicado em 7-10 05:41

Análise Retrospectiva dos Projetos de Desenvolvimento: Exercícios 4 a 6

Análise dos Exercícios de Programação 4 a 6 Este documento apresenta uma análise retrospectiva e detalhada dos exercícios de programação do quarto ao sexto ciclo, abordando a complexidade, as estratégias de design, a implementação de funcionalidades, os desafios encontrados e as oportunidades de melhoria. Cada ciclo representou uma evolução em ...

Publicado em 7-8 01:10

Princípios Essenciais de Armazenamento em Cache com Redis

Fundamentos de Design de Cache O objetivo central de um sistema de cache é acelerar o acesso a dados e aliviar a carga sobre o armazenamento persistente. Durante o projeto, é crucial considerar: Consistência dos Dados: Os dados no cache devem estar sincronizados com a fonte de verdade, como o banco de dados. Estratégias de Invalidação: Mecanis ...

Publicado em 7-6 19:22

Exercícios Resolvidos de Listas Ligadas em C++

Encontro de Listas Ligadas Dado os nós de cabeçalho de duas listas ligadas, headA e headB, encontre e retorne o nó de início da interseção. Se as duas listas não tiverem nó de interseção, retorne null. Presume-se que a estrutura da lista ligada não contenha ciclos. Solução com Tabela Hash Uma abordagem direta é usar uma tabela hash para arma ...

Publicado em 7-4 00:03

Contagem de Subarrays com Soma K

Este problema pede para contar quantos subarrays conttínuos em um array dado somam um valor específico k. Abordagem 1: Soma de Prefixos Bruta Uma maneira direta é calcular a soma de prefixos de todo o aray. A soma de um subarray de índice i a j (inclusive) pode ser encontrada subtraindo a soma de prefixo até i-1 da soma de prefixo até j. Iteram ...

Publicado em 7-3 22:28

Verificação de Cobertura de um Intervalo por Múltiplos Segmentos

O desafio consiste em determinar se um intervalo de origem [x, y], onde y ≥ x, está completamente contido dentro da união de N intervalos de destino desordenados [x1, y1], [x2, y2], ..., [xn, yn]. Abordagem 1: Mapeamento em Eixo Linear Esta solução utiliza uma representação discreta da reta numérica. Mapeamos os intervalos em um array booleano, ...

Publicado em 7-3 00:25