Articles of linguagem agnóstico

Algoritmo para gerar anagramas

Qual seria a melhor estratégia para gerar anagramas? An anagram is a type of word play, the result of rearranging the letters of a word or phrase to produce a new word or phrase, using all the original letters exactly once; ex. Onze mais dois é anagrama de Doze mais um Um ponto decimal é […]

Como posso medir a similaridade entre duas imagens?

Gostaria de comparar uma captura de canvas de um aplicativo (pode ser uma página da Web) com uma captura de canvas feita anteriormente para determinar se o aplicativo está sendo exibido corretamente. Eu não quero uma comparação de correspondência exata, porque o aspecto pode ser um pouco diferente (no caso de um aplicativo da Web, […]

Qual distribuição você obtém desse shuffle random quebrado?

O famoso algoritmo random Fisher-Yates pode ser usado para permutar aleatoriamente uma matriz A de comprimento N: For k = 1 to N Pick a random integer j from k to N Swap A[k] and A[j] Um erro comum que me disseram repetidamente para não fazer é isto: For k = 1 to N Pick […]

Code Golf: Number to Words

A série de golfe de código parece ser bastante popular. Eu encontrei um código que converte um número em sua representação de palavras. Alguns exemplos seriam (poderes de 2 para programar diversão): 2 -> dois 1024 -> Um Mil Vinte e Quatro 1048576 -> Um Milhão Quarenta E Oito Mil Quinhentos E Setenta E Seis […]

O que é boxe e unboxing e quais são os trade offs?

Estou à procura de uma resposta clara, concisa e precisa. Idealmente como a resposta real, embora os links para boas explicações sejam bem-vindos.

As tabelas de hash podem ser O (1)?

Parece ser de conhecimento comum que as tabelas de hash podem alcançar O (1), mas isso nunca fez sentido para mim. Alguém pode por favor explicar isso? Aqui estão duas situações que vêm à mente: A. O valor é um int menor que o tamanho da tabela de hash. Portanto, o valor é seu próprio […]

Algoritmo para encontrar o menor número de retângulos para cobrir um conjunto de retângulos sem sobreposição

Eu tenho um conjunto de retângulos e gostaria de “reduzir” o conjunto para que eu tenha o menor número de retângulos para descrever a mesma área do conjunto original. Se possível, eu também gostaria que fosse rápido, mas estou mais preocupado em fazer com que o número de retângulos seja o mais baixo possível. Eu […]

Como você detecta o tipo de cartão de crédito com base no número?

Estou tentando descobrir como detectar o tipo de cartão de crédito baseado apenas em seu número. Alguém sabe de uma maneira definitiva e confiável de encontrar isso?

Herança vs. Agregação

Existem duas escolas de pensamento sobre como melhor estender, aprimorar e reutilizar código em um sistema orientado a objects: Herança: estenda a funcionalidade de uma class criando uma subclass. Substituir membros da superclass nas subclasss para fornecer nova funcionalidade. Torne os methods abstract / virtual para forçar as subclasss a “preencher os espaços em branco” […]

Algoritmo de gráfico para localizar todas as conexões entre dois vértices arbitrários

Eu estou tentando determinar o melhor algoritmo eficiente de tempo para realizar a tarefa descrita abaixo. Eu tenho um conjunto de registros. Para este conjunto de registros, tenho dados de conexão que indicam como os pares de registros desse conjunto se conectam uns aos outros. Isso basicamente representa um grafo não direcionado, com os registros […]