Bem vindo(a) ao repositório do projeto Algoritmos!

Contexto

Este projeto consiste em desenvolver as habilidades necessárias para um desenvolvedor de software, que são a capacidade de implementar utilizando uma boa lógica, capacidade de interpretar problemas e resolvê-los de forma otimizada, capacidade de otimizar algoritmos visando a menor complexidade possível.

Desenvolvimento

1 - Número de pessoas acessando uma plataforma no mesmo horário (Algoritmo de busca)

O algoritmo de busca foi desenvolvido para saber qual o horário em que uma determinada plataforma recebe a maior quantidade de acessos.

A complexidade máxima é de O(n).

2 - Palíndromos: trabalhando a recursividade

O algoritmo de busca recebe uma palavra e, com a recursividade, determina se ela é ou não um palíndromo (frase ou palavra que pode ser lida da esquerda para a direita ou vice-versa).

3 - Anagramas: trabalhando com algoritmo de ordenação

O algoritmo recebe duas string e identifica se são um anagrama (quando é possível criar uma palavra a partir de outra com a mesma quantidade de letras disponível).

A complexidade máxima é de O(n log n).

4 - Encontrando números repetidos: trabalhando com algoritmo de busca

O algoritmo recebe um array de números inteiros e retorna o número que está duplicado no array.

A complexidade máxima é de O(n log n).

5 - Palíndromos: trabalhando com Iteratividade

O algoritmo de busca recebe uma palavra e, com a iteratividade, determina se ela é ou não um palíndromo (frase ou palavra que pode ser lida da esquerda para a direita ou vice-versa).

A complexidade máxima é de O(n).