/99-problemas

99 Problemas lógicos para se resolver com alguma linguagem de programação

MIT LicenseMIT

99 Problemas

Esta versão dos 99 problemas é baseada no projeto Ninety-Nine Kotlin Problems de dkandalov apesar de que aqui não vamos abordar nenhuma linguagem de programação, apenas a lógica de programação e estrutura de dados. A ideia desse projeto é ajudar você a se aprimorar em determinada linguagem e ajudar outras pessoas compartilhando sua soluções. Cada desafio terá um nível de dificuldade:

  • *: Fácil - pode ser resolvido em 15 minutos
  • **: Intermediário - pode ser resolvido entre 30 a 90 minutos
  • ***: Difícil - leva um tempinho pra ser resolvido Lembrando que é uma estimativa o tempo determinado, também os desafios do nível fácil podem muito bem ser resolvidos usando uma função de determinada linguagem mas a ideia é que você utilize uma estrutura de dados para resolve-los.

Projetos

Para cada colega aqui na organização que criar uma versão dos 99 problemas em determinada linguagem, iremos listar o repositório aqui abaixo. Desde já vamos estabelecer algumas regras para a versões.

  • A documentação pode ser em português para ajudar novos devs porém todo o código e sua estrutura deve ser em inglês
  • Se a linguagem permitir, o projeto deve ter build e testes automatizados
  • Cada desafio deve ter um teste unitário da solução
  • Não é obrigatório as versões terem uma solução, o ideial seria cada um realizar o fork do projeto como um repositório pessoal e as pessoas que quiserem acessar as soluções podem ver os forks dos projetos.
  • Cada repositório das versões do 99 Problemas pode ter um discurssions onde as pessoas podem discutir e opinar sobre suas soluções e seus forks.

Versões do 99 Problemas

  • Nenhuma ainda =(

Problemas

  • Listas
  • Aritiméticas
  • Lógicas e algoritmos
  • Árvores Binárias
  • Árvores n-ésimas
  • Grafos
  • Diversos

Listas

Problema 1 - Find the last element of a list *

Problema 2 - Find the last but one element of a list *

Problema 3 - Find the K'th element of a list *

Problema 4 - Find the number of elements of a list *

Problema 5 - Reverse a list *

Problema 6 - Find out whether a list is a palindrome *

Problema 7 - Flatten a nested list structure **

Problema 8 - Eliminate consecutive duplicates of list elements **

Problema 9 - Pack consecutive duplicates of list elements into sublists **

Problema 10 - Run-length encoding of a list *

Problema 11 - Modified run-length encoding *

Problema 12 - Decode a run-length encoded list**

Problema 13 - Run-length encoding of a list (direct solution) **

Problema 14 - Duplicate the elements of a list *

Problema 15 - Duplicate the elements of a list a given number of times **

Problema 16 - Drop every N'th element from a list *

Problema 17 - Split a list into two parts; the length of the first part is given *

Problema 18 - Extract a slice from a list **

Problema 19 - Rotate a list N places to the left *

Problema 20 - Remove the K'th element from a list *

Problema 21 - Insert an element at a given position into a list *

Problema 22 - Create a list containing all integers within a given range *

Problema 23 - Extract a given number of randomly selected elements from a list **

Problema 24 - Lotto: Draw N different random numbers from the set 1..M *

Problema 25 - Generate a random permutation of the elements of a list *

Problema 26 - Generate the combinations of K distinct objects chosen from the N elements of a list *

Problema 27 - Group the elements of a set into disjoint subsets **

Problema 28 - Sorting a list of lists according to length of sublists **

Aritiméticas

Problema 1 - Determine whether a given integer number is prime **

Problema 2 - Determine the prime factors of a given positive integer **

Problema 3 - Determine the prime factors of a given positive integer (2) **

Problema 4 - A list of prime numbers *

Problema 5 - Goldbach's conjecture **

Problema 6 - A list of Goldbach compositions **

Problema 7 - Determine the greatest common divisor of two positive integer numbers **

Problema 8 - Determine whether two positive integer numbers are coprime **

Problema 9 - Calculate Euler's totient function phi(m) **

Problema 10 - Calculate Euler's totient function phi(m) (2) **

Problema 11 - Compare the two methods of calculating Euler's totient function **

Lógicas e algoritmos

Problema 1 - Truth tables for logical expressions *

Problema 2 - Truth tables for logical expressions (2) *

Problema 3 - Truth tables for logical expressions (3) **

Problema 4 - Gray code **

Problema 5 - Huffman code **

Árvores Binárias

Problema 1 - **

Problema 2 - **

Problema 3 - **

Problema 4 - **

Problema 5 - **

Problema 6 - **

Problema 7 - **

Problema 8 - **

Problema 9 - **

Problema 10 - **

Problema 11 - **

Problema 12 - **

Problema 13 - **

Problema 14 - **

Problema 15 - **

Problema 16 - **

Problema 17 - **

Problema 18 - **

Árvores n-ésimas

Problema 1 - **

Problema 2 - **

Problema 3 - **

Problema 4 - **

Problema 5 - **

Problema 6 - **

Grafos

Problema 1 - **

Problema 2 - **

Problema 3 - **

Problema 4 - **

Problema 5 - **

Problema 6 - **

Problema 7 - **

Problema 8 - **

Problema 9 - **

Problema 10 - **

Problema 11 - **

Diversos

Problema 1 - **

Problema 2 - **

Problema 3 - **

Problema 4 - **

Problema 5 - **

Problema 6 - **

Problema 7 - **

Problema 8 - **

Problema 9 - **