Matrícula | Nome |
---|---|
21/1062240 | Mateus Bastos dos Santos |
21/1062320 | Miguel Arhtur Oliveira de Lima |
Este projeto foi desenvolvido como parte do primeiro trabalho da disciplina de Estruturas de Dados e Algoritmos II (EDA2), focado no estudo e implementação do algoritmo de busca binária. Foi utilizado a plataforma LeetCode para a realização da atividade e como base para os exercícios.
Para este projeto, foram selecionados 2 exercícios nível Médio e 2 exercícios nível Difícil.
Exercício | Dificuldade | Método de Busca |
---|---|---|
01. Time Based Key-Value Store | Médio | Dicionários + Busca Binária |
02. Split Array Largest Sum | Difícil | Busca Binária em Espaço de Resposta + Greedy |
03. Koko Eating Bananas | Médio | Busca Binária em Espaço de Resposta |
04. Find K-th Smallest Pair Distance | Difícil | Busca Binária em Espaço de Resposta + Contagem de Pares |
Conceito: Problema que envolve armazenar pares chave-valor com timestamps e permitir consultas pelo valor mais recente até um determinado tempo. A solução utiliza dicionários e busca binária para recuperar rapidamente o valor correto.
Conceito: Problema que busca dividir um array em m
subarrays consecutivos de forma que a soma máxima entre os subarrays seja mínima. A solução utiliza busca binária sobre o espaço de resposta combinada com verificação gulosa para determinar se uma divisão é possível.
Conceito: Problema que envolve determinar a menor taxa de velocidade em que Koko consegue comer todas as bananas dentro de um limite de horas. A solução aplica busca binária sobre o espaço de resposta para encontrar a taxa ideal.
Conceito: Problema que busca o k-ésimo menor valor absoluto da diferença entre pares em um array. A solução combina busca binária sobre o espaço de resposta com contagem eficiente de pares para reduzir a complexidade.
- Vá para https://leetcode.com/
- Crie uma conta gratuita ou faça login
- Pesquise pelo número do exercício (ex: "981" ou "719")
- Ou clique diretamente nos links fornecidos na tabela acima
- Selecione C++ como linguagem para os exercícios 01 e 02 e C para os exercícios 03 e 04.
- Copie o código do repositório local
- Cole no editor do LeetCode
- Clique no ícone Run para rodar o código.
Aqui estão algumas imagens que demonstram o projeto.
Explicamos todos os códigos que fizemos na plataforma LeetCode: