Eu preferiria a menor definição formal possível e a matemática
Um algoritmo é uma sequência de etapas bem definidas que define uma solução abstrata para um problema. Use essa tag quando seu problema estiver relacionado ao design do algoritmo.
Eu preferiria a menor definição formal possível e a matemática
Qual é a maneira mais concisa e eficiente de descobrir se uma matriz JavaScript contém um valor? Esta é a única maneira que sei fazer: function contains(a, obj) { for (var i = 0; i < a.length; i++) { if (a[i] === obj) { return true; } } return false; } Existe uma maneira melhor e mais...
Ontem eu estava emparelhando as meias da roupa limpa e descobri que a maneira como estava fazendo isso não é muito eficiente. Eu estava fazendo uma pesquisa ingênua - pegando uma meia e "iterando" a pilha para encontrar seu par. Isto requer a iteração n / 2 * n / 4 = n 2 /8 meias, em média. Como...
Recentemente, deparei com o jogo 2048 . Você mescla blocos semelhantes movendo-os em qualquer uma das quatro direções para criar blocos "maiores". Após cada movimento, um novo bloco aparece na posição vazia aleatória com um valor de 2ou 4. O jogo termina quando todas as caixas estão preenchidas e...
Enquanto começava a aprender cocô, me deparei com o termo recursivo da cauda . O que isso significa
Um dos projetos mais interessantes em que trabalhei nos últimos dois anos foi um projeto sobre processamento de imagens . O objetivo era desenvolver um sistema para reconhecer 'latas' da Coca-Cola (observe que estou enfatizando a palavra 'latas', você verá o porquê em um minuto). Você pode ver uma...
No .NET, o GetHashCodemétodo é usado em muitos lugares nas bibliotecas de classes base do .NET. Implementá-lo adequadamente é especialmente importante para encontrar itens rapidamente em uma coleção ou ao determinar a igualdade. Existe um algoritmo padrão ou uma prática recomendada sobre como...
Eu tive uma experiência interessante de entrevista de emprego há um tempo. A pergunta começou muito fácil: Q1 : Temos um saco contendo números 1, 2, 3, ..., 100. Cada número aparece exatamente uma vez, então existem 100 números. Agora, um número é escolhido aleatoriamente da sacola. Encontre o...
Eu me sinto um pouco grossa neste momento. Passei dias tentando entender completamente a construção de árvores com sufixos, mas como não tenho formação matemática, muitas das explicações me iludem quando começam a fazer uso excessivo da simbologia matemática. A mais próxima de uma boa explicação...
Praticamente preciso escrever um programa para verificar se uma lista possui duplicatas e, se houver, as remove e retorna uma nova lista com os itens que não foram duplicados / removidos. É isso que tenho, mas para ser sincero, não sei o que fazer. def remove_duplicates(): t = ['a', 'b', 'c',...
Como calculo a distância entre dois pontos especificados por latitude e longitude? Para esclarecimento, eu gostaria da distância em quilômetros; os pontos usam o sistema WGS84 e eu gostaria de entender a precisão relativa das abordagens
A questão Como encontrar a complexidade temporal de um algoritmo? O que eu fiz antes de postar uma pergunta no SO? Eu passei por isso , este e muitos outros links Mas não onde eu era capaz de encontrar uma explicação clara e direta sobre como calcular a complexidade do tempo. O que eu sei...
A maioria das pessoas com um diploma em CS certamente saberá o que Big O significa . Isso nos ajuda a medir a escala de um algoritmo. Mas estou curioso, como você calcula ou aproxima a complexidade de seus
8 bits representando o número 7 são assim: 00000111 Três bits estão definidos. O que são algoritmos para determinar o número de bits definidos em um número inteiro de 32
Muito simplesmente, o que é otimização de chamada de cauda? Mais especificamente, quais são alguns pequenos trechos de código onde eles podem ser aplicados e onde não, com uma explicação do
Eu estava tentando vários métodos para implementar um programa que fornece os dígitos de pi sequencialmente. Eu tentei o método da série Taylor , mas provou convergir extremamente lentamente (quando comparei meu resultado com os valores online depois de algum tempo). Enfim, estou tentando melhores...
Eu tenho um computador com 1 MB de RAM e nenhum outro armazenamento local. Preciso usá-lo para aceitar 1 milhão de números decimais de 8 dígitos em uma conexão TCP, classificá-los e enviar a lista classificada por outra conexão TCP. A lista de números pode conter duplicatas, que não devo...
Dada uma função que produz um número inteiro aleatório no intervalo de 1 a 5, escreva uma função que produz um número inteiro aleatório no intervalo de 1 a 7. O que é uma solução simples? O que é uma solução eficaz para reduzir o uso de memória ou executar em uma CPU mais...
Recebi esta pergunta da entrevista: Dado um arquivo de entrada com quatro bilhões de números inteiros, forneça um algoritmo para gerar um número inteiro que não esteja contido no arquivo. Suponha que você tenha 1 GB de memória. Siga o que você faria se tivesse apenas 10 MB de memória. Minha...
Desejo criar um serviço de encurtador de URL em que você possa gravar um URL longo em um campo de entrada e o serviço encurte o URL para " http://www.example.org/abcdef". Em vez de " abcdef", pode haver qualquer outra sequência com seis caracteres a-z, A-Z and 0-9. Isso torna 56 a 57 bilhões de...