Articles of algoritmo de

Algoritmos: correspondência de elipse

Eu tenho muitas imagens como as seguintes (apenas branco e preto): Meu problema final é encontrar elipses bem correspondentes. Infelizmente as imagens reais usadas nem sempre são legais assim. Eles podem ser deformados um pouco, o que torna a elipse mais provável. Minha ideia é encontrar “break points”. Eu marquei-os na seguinte imagem: Talvez esses […]

Gere todas as substrings únicas para determinada string

Dada uma string s , qual é o método mais rápido para gerar um conjunto de todas as suas substrings únicas? Exemplo: para str = “aba” , substrs={“a”, “b”, “ab”, “ba”, “aba”} . O algoritmo ingênuo seria percorrer toda a string gerando substrings de comprimento 1..n em cada iteração, produzindo um limite superior O(n^2) . […]

Conecte 4 cheque para um algoritmo de vitória

Eu sei que há muitas perguntas sobre conectar 4 check para uma vitória. A questão é que a maioria dos outros algoritmos faz meu programa ter erros de tempo de execução, porque eles tentam acessar um índice fora do meu array. Meu algoritmo é assim: private int checkWin(int[][] gridTable,int rowNum,int colNum, int maxRow, int maxCol) […]

Lucro máximo de venda única

Suponha que recebamos uma matriz de n inteiros representando os preços das ações em um único dia. Queremos encontrar um par (buyDay, sellDay) , com buyDay ≤ sellDay , de modo que, se comprássemos as ações no buyDay e as vendêssemos no sellDay , maximizássemos nosso lucro. Claramente, existe uma solução O (n 2 ) […]

Arredondamento para um número arbitrário de dígitos significativos

Como você pode arredondar qualquer número (não apenas inteiros> 0) para N dígitos significativos? Por exemplo, se eu quiser arredondar para três dígitos significativos, procuro uma fórmula que possa ser usada: 1.239.451 e devolver 1.240.000 12.1257 e devolver 12.1 .0681 e devolver .0681 5 e retorno 5 Naturalmente, o algoritmo não deve ser codificado apenas […]

A maneira mais rápida de encontrar o número que falta em uma matriz de números

Eu tenho uma matriz de números de 1 a 100 (ambos inclusive). O tamanho da matriz é 100. Os números são adicionados aleatoriamente à matriz, mas há um slot vazio random na matriz. Qual é a maneira mais rápida de encontrar esse slot, bem como o número que deve ser colocado no slot? Uma solução […]

Multiplicação de matrizes: Pequena diferença no tamanho da matriz, grande diferença nos tempos

Eu tenho um código de multiplicação de matriz que se parece com isso: for(i = 0; i < dimension; i++) for(j = 0; j < dimension; j++) for(k = 0; k < dimension; k++) C[dimension*i+j] += A[dimension*i+k] * B[dimension*k+j]; Aqui, o tamanho da matriz é representado por dimension . Agora, se o tamanho das matrizes […]

como rasterizar o retângulo girado (em 2d por setpixel)

Eu tenho um quadrângulo de quatro vértices ABCD de retângulo girado, eu preciso rasterizar / desenhar (eficientemente) em pixelbufer com setpixel (x, y, color) como fazer isso? Eu estava tentando com algum código como // convertilg abcd do up down left right, // calculating some dx_left dx_right on y– // etc (frustrating on special cases […]

Por que o quicksort é melhor que o mergesort?

Fiz esta pergunta durante uma entrevista. Ambos são O (nlogn) e ainda assim a maioria das pessoas usa o Quicksort em vez do Mergesort. Por que é que?

como fornecer uma function de troca para minha class?

Qual é a maneira correta de ativar meu swap em algoritmos STL? 1) swap membros. O std::swap usa o truque SFINAE para usar a swap membros. 2) swap posição livre no mesmo namespace. 3) Especialização parcial de std::swap . 4) Todos os itens acima. Obrigado. EDIT: Parece que eu não fiz a minha pergunta com […]