Este é um projeto dedicado a exercitar conceitos que abrangem a temática algorítmica.
Tratam-se de 5 exercícios que levam em consideração estruturas de dados, complexidade de algoritimos, capacidade de interpretação do problema, capacidade de resolução do problema de forma otimizada, analisar corretamente a ordem de complexidade de um algoritmo, recursividade e algoritmos de ordenação e algoritmos de busca.
1 - Número de estudantes estudando no mesmo horário (Algoritmo de busca)
1.1 - Retorne, para uma entrada específica, a quantidade de estudantes presentes
1.2 - Retorne None se em permanence_period houver alguma entrada inválida
1.3 - Retorne None se target_time recebe um valor vazio
1.4 - A função poderá, em menos que 0.02s, ser executada 10.000 vezes para uma entrada pequena
2 - Palíndromos (Recursividade)
2.1 - Retorne true se a palavra passada por parâmetro for um palíndromo
2.2 - Retorne false se a palavra passada por parâmetro não for um palíndromo
2.3 - Retorne false se nenhuma palavra for passada por parâmetro
3 - Anagramas (Algoritmo de ordenação)
3.1 - Retorne true se as palavras passadas forem anagramas
3.2 - Retorne false se as palavras passadas por parâmetro não forem anagramas
3.3 - Retorne false se alguma das palavras passadas por parâmetro for uma string vazia
3.4 - Execute a função, somando 10.000 execuções para uma entrada pequena, em menos que 8.2s
4 - Encontrando números repetidos (Algoritmo de busca)
4.1 - Retorne o número repetivo se a função receber, como parâmetro, uma lista com números repetidos
4.2 - Retorne false se a função não receber nenhum parâmetro
4.3 - Retorne false se a função receber, como parâmetro, uma string
4.4 - Retorne false se a função receber, como parâmetro, uma lista sem números repetidos
4.5 - Retorne false se a função receber, como parâmetro, apenas um valor
4.6 - Retorne false se a função receber, como parâmetro, um número negativo
4.7 - Execute a função, somando 10.000 execuções para uma entrada pequena, em menos que 0.01s
5 - Palíndromos (Iteratividade)
5.1 - Retorne true se a palavra passada como parâmetro for um palíndromo, executando uma função iterativa
5.2 - Retorne false se nenhuma palavra for passada como parâmetro, executando uma função iterativa
5.3 - Execute a função, somando 10.000 execuções para uma entrada pequena, em menos que 0.005s
-
Faça o clone deste repositório utilizando
git clone
; -
Crie o ambiente virtual:
python3 -m venv .venv
-
Ative o ambiente virtual:
source .venv/bin/activate
-
Instale as dependências do projeto:
python3 -m pip install -r dev-requirements.txt
-
Execute os arquivos separadamente:
python3 nome_do_arquivo.py