Articles of algoritmo

Algoritmo para encontrar várias correspondências de string

Estou procurando sugestões para um algoritmo eficiente para encontrar todas as correspondências em um grande corpo de texto. Os termos a serem pesquisados ​​estarão contidos em uma lista e podem ter mais de 1.000 possibilidades. Os termos de pesquisa podem ter 1 ou mais palavras. Obviamente, eu poderia fazer várias passagens pelo texto comparando com […]

O (n) algoritmo para encontrar a mediana de uma coleção de números

Problema: a input é uma seqüência (não necessariamente classificada) S = k1, k2, …, kn de n números arbitrários. Considere a coleção C de números n2 da forma min {ki, kj}, para 1 <= i, j <= n. Apresente um algoritmo de tempo O(n) e O(n) para encontrar a mediana de C. Até agora eu […]

Algoritmo para encontrar todos os caminhos em uma grade NxN

Imagine um robô sentado no canto superior esquerdo de uma grade NxN. O robô só pode se mover em duas direções: direita e para baixo. Quantos caminhos possíveis existem para o robô? Eu poderia encontrar uma solução para esse problema no Google, mas não estou muito claro com as explicações. Eu estou tentando entender claramente […]

Verifique se um inteiro é uma potência inteira de outro

Esta é uma questão de entrevista : “Dado 2 inteiros xey, verifique se x é uma potência inteira de y” (por exemplo, para x = 8 e y = 2 a resposta é “verdadeira” e para x = 10 e y = 2 “falso”). A solução óbvia é: int n = y; while(n < x) […]

Quicksort: Iterativo ou Recursivo

Aprendi sobre o tipo rápido e como ele pode ser implementado no método recursivo e iterativo. No método iterativo: Empurra o intervalo (0 … n) para a pilha Particionar a matriz dada com um pivô Pop o elemento superior. Empurrar as partições (intervalo de índice) para uma pilha se o intervalo tiver mais de um […]

Gere números randoms distintos em c #

Só queria saber se você pode confirmar que o código a seguir é válido e avisa se há alternativas melhores para ele? Eu estou tentando gerar uma coleção de números randoms distintos entre 1 e 100.000. Random rand = new Random(); List result = new List(); for (Int32 i = 0; i value == curValue)) […]

Gerando m números randoms distintos no intervalo

Eu tenho dois methods de gerar m números randoms distintos no intervalo [0..n-1] Método 1: //C++-ish pseudocode int result[m]; for(i = 0; i < m; ++i) { int r; do { r = rand()%n; }while(r is found in result array at indices from 0 to i) result[i] = r; } Método 2: //C++-ish pseudocode int […]

algoritmo de vizinho mais próximo mais rápido

Qual é a maneira mais rápida de encontrar o ponto mais próximo do ponto dado na matriz de dados? Por exemplo, eu tenho espaço 3D, matriz de pontos (coordenadas – (x, y, z)) e ponto (xp, yp, zp). Eu preciso encontrar o ponto mais próximo para o (xp, yp, zp). Até onde eu sei, a […]

Pegue n elementos randoms de uma lista ?

Como posso pegar n elementos randoms de um ArrayList ? Idealmente, gostaria de poder fazer chamadas sucessivas ao método take() para obter outros elementos x, sem substituição.

Como você imprime o valor EXATO de um número de ponto flutuante?

Em primeiro lugar, esta não é uma questão de novato de ponto flutuante. Eu sei que os resultados da aritmética de ponto flutuante (para não mencionar as funções transcendentais) geralmente não podem ser representados exatamente, e que a maioria dos decimais de terminação não pode ser representada exatamente como números binários de ponto flutuante. Dito […]