Giter Club home page Giter Club logo

desafio-algoritmos-micaelsilva's Introduction

Context LMS

Desafio de Algoritmos

O desafio consiste em resolver 2 problemas diferentes de algoritmos, que são definidos abaixo.

Você deve fazer commits do código fonte diretamente neste repositório durante sua evolução para que possamos acompanhar, ou seja, evite commitar toda a solução de uma única vez.

Solucione cada problema em arquivos separados e forneça todas as instruções necessárias para sua execução em /COMMENTS.md.

Queremos ver tudo o que você conhece sobre desenvolvimento de software. Alguns dos aspectos que serão observados nesse desafio são:

  • clareza/objetividade/simplicidade
  • estilo do código
  • performance
  • documentação
  • testes

Problema 1: Conjectura de Collatz

A seguinte sequência iterativa é definida pelo conjunto de inteiros positivos onde:

n -> n/2 (se n é par) n -> 3n + 1 (se n é impar)

Usando as regras acima e começando pelo número 13, nós geraríamos a seguinte sequência:

13 40 20 10 5 16 8 4 2 1

O que pode ser observado dessa sequência (começando no 13 e terminando no 1) é que ela contém 10 items. Embora ainda não esteja matematicamente provado, é esperando que, dado um numero inteiro positivo qualquer, a sequencia sempre chegará em 1.

Pergunta: Qual inteiro positivo abaixo de 1 milhão, produz a sequencia com mais items?

Desafio: Seu código executar em menos de 5 segundos, para o caso de 1 milhão.

Fonte: http://en.wikipedia.org/wiki/Collatz_conjecture

Problema 2: Sequência de Caracteres

Dada uma palavra, escreva um algoritmo que retorne a(s) sequência(s) de caracteres iguais que mais se repetem um após o outro. Caso queira, disponibilizamos uma pequena massa de dados (/words.txt) para te ajudar com os testes.

Exemplos:

  • Para "Gol", o retorno deve ser null (vazio).
  • Para "Goool", o retorno deve ser ["ooo"]
  • Para "Gooooolaaaaaçooo", o retorno deve ser ["ooooo", "aaaaa"]

desafio-algoritmos-micaelsilva's People

Contributors

micael106 avatar jpcbarros avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.