TypeScript no LeetCode: do iniciante ao profissional em 30 dias

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Por que TypeScript é a linguagem ideal para o LeetCode?



Se você ainda resolve problemas no LeetCode em JavaScript — está na hora de migrar para TypeScript. Por quê? Porque a tipagem forte elimina toda uma classe de erros antes mesmo da execução do código. Você não conseguirá passar acidentalmente uma string onde se espera um número, e o compilador indicará quais métodos estão disponíveis em um objeto. É como dirigir um carro com piloto automático — mais rápido, seguro e agradável.



O LeetCode não é apenas uma plataforma para decorar algoritmos. É um campo de treinamento onde você aprimora habilidades que são realmente necessárias em produção. E o TypeScript hoje é o padrão de facto para desenvolvimento empresarial. Empresas como Google, Microsoft e Airbnb buscam desenvolvedores que sabem escrever código tipado. Então, resolvendo problemas no LeetCode em TypeScript, você mata dois coelhos com uma cajadada só: se prepara para a entrevista e melhora habilidades reais.



Neste artigo, vamos analisar por onde começar, quais tipos e estruturas de dados estudar, e resolveremos 3 problemas de diferentes níveis — do fácil ao difícil. Vamos lá!



O que você precisa saber antes de começar



Antes de mergulhar nos problemas, certifique-se de ter uma base. TypeScript é uma extensão do JavaScript, então primeiro você precisa dominar JS: closures, promises, métodos de array, manipulação de objetos. Sem isso, TypeScript parecerá apenas açúcar sintático desnecessário.



Tipos principais que serão úteis no LeetCode

  • number, string, boolean — a base, indispensável
  • number[], string[] — arrays, presentes em 90% dos problemas
  • Record<string, number> — objeto como dicionário (hash map)
  • Map<K, V> — alternativa ao objeto com preservação de ordem
  • Set<T> — para valores únicos
  • Tuple — tuplas, úteis em problemas que retornam pares de valores
  • null | undefined — tratamento de casos extremos


Estruturas de dados mais comuns

  • Arrays — a base de tudo. Arrays bidimensionais, ordenação, busca binária
  • Tabelas hash — para busca rápida (problema Two Sum é clássico)
  • Pilha e fila — para problemas com parênteses, BFS, DFS
  • Listas encadeadas — reverse, merge, detect cycle
  • Árvores — binárias, árvores binárias de busca, percursos
  • Grafos — geralmente em entrevistas de nível Sênior


Não tente aprender tudo de uma vez. Comece com arrays e tabelas hash — isso cobrirá 70% dos problemas de nível Fácil e Médio.



Como configurar o ambiente para TypeScript no LeetCode



O LeetCode suporta TypeScript nativamente. Ao selecionar o idioma, basta clicar em "TypeScript" no menu suspenso. No entanto, se você quiser escrever código localmente e testar, aqui está a configuração mínima:



npm init -ynpm install typescript @types/node --save-devnpx tsc --init


Crie um arquivo solution.ts e execute a compilação com o comando npx tsc solution.ts && node solution.js. Isso ajudará você a se acostumar com a tipagem forte e a detectar erros rapidamente.



Análise de 3 problemas em TypeScript: do Fácil ao Difícil



Agora vamos à prática. Escolhi três problemas que demonstram bem as capacidades do TypeScript e são frequentes em entrevistas.



1. Two Sum (Fácil) — clássico do gênero



Problema: dado um array de números e um alvo. Encontre dois números cuja soma seja igual ao alvo e retorne seus índices.



function twoSum(nums: number[], target: number): number[] {    const map = new Map<number, number>();

for (let i = 0; i < nums.length; i++) { const complement = target - nums[i]; if (map.has(complement)) { return [map.

Blogs

Book Recommendations