Prefiero la menor definición formal posible y las matemáticas
Un algoritmo es una secuencia de pasos bien definidos que define una solución abstracta a un problema. Use esta etiqueta cuando su problema esté relacionado con el diseño del algoritmo.
Prefiero la menor definición formal posible y las matemáticas
¿Cuál es la forma más concisa y eficiente de averiguar si una matriz de JavaScript contiene un valor? Esta es la única forma en que sé hacerlo: function contains(a, obj) { for (var i = 0; i < a.length; i++) { if (a[i] === obj) { return true; } } return false; } ¿Hay una manera mejor y...
Ayer emparejé los calcetines de la ropa limpia y descubrí que no era muy eficiente. Estaba haciendo una búsqueda ingenua, escogiendo un calcetín y "iterando" la pila para encontrar su par. Esto requiere iterar sobre N / 2 * n / 4 = n 2 /8 calcetines en promedio. Como informático, estaba pensando...
Recientemente me topé con el juego 2048 . Combina fichas similares moviéndolas en cualquiera de las cuatro direcciones para hacer fichas "más grandes". Después de cada movimiento, aparece una nueva ficha en una posición vacía aleatoria con un valor de 2o 4. El juego termina cuando todas las...
Al comenzar a aprender lisp, me he encontrado con el término recursivo de cola . ¿Qué significa
Uno de los proyectos más interesantes en los que he trabajado en los últimos años fue un proyecto sobre procesamiento de imágenes . El objetivo era desarrollar un sistema para poder reconocer las 'latas' de Coca-Cola (tenga en cuenta que estoy haciendo hincapié en la palabra 'latas', verá por qué...
En .NET, el GetHashCodemétodo se usa en muchos lugares de las bibliotecas de clases base .NET. Implementarlo adecuadamente es especialmente importante para encontrar elementos rápidamente en una colección o al determinar la igualdad. ¿Existe un algoritmo estándar o una mejor práctica sobre cómo...
Tuve una interesante experiencia de entrevista de trabajo hace un tiempo. La pregunta comenzó realmente fácil: Q1 : Tenemos una bolsa que contenía los números 1, 2, 3, ..., 100. Cada número aparece exactamente una vez, por lo que hay 100 números. Ahora se saca un número al azar de la bolsa....
Me siento un poco espeso en este punto. He pasado días tratando de comprender completamente la construcción del árbol de sufijos, pero debido a que no tengo antecedentes matemáticos, muchas de las explicaciones me eluden a medida que comienzan a hacer un uso excesivo de la simbología matemática. La...
Bastante necesito escribir un programa para verificar si una lista tiene duplicados y si lo hace los elimina y devuelve una nueva lista con los elementos que no fueron duplicados / eliminados. Esto es lo que tengo, pero para ser honesto, no sé qué hacer. def remove_duplicates(): t = ['a', 'b',...
¿Cómo calculo la distancia entre dos puntos especificados por latitud y longitud? Para aclarar, me gustaría la distancia en kilómetros; los puntos usan el sistema WGS84 y me gustaría entender las precisiones relativas de los enfoques
La pregunta ¿Cómo encontrar la complejidad temporal de un algoritmo? ¿Qué he hecho antes de publicar una pregunta en SO? He pasado por esto , este y muchos otros enlaces Pero en ningún lugar pude encontrar una explicación clara y directa sobre cómo calcular la complejidad del tiempo. Que sé yo...
La mayoría de las personas con un grado en CS sin duda saber qué Big O significa . Nos ayuda a medir qué tan bien escala un algoritmo. Pero tengo curiosidad, ¿cómo se calcula o aproximada de la complejidad de los
Los 8 bits que representan el número 7 se ven así: 00000111 Se establecen tres bits. ¿Cuáles son los algoritmos para determinar el número de bits establecidos en un entero de 32
Muy simple, ¿qué es la optimización de llamadas de cola? Más específicamente, ¿cuáles son algunos pequeños fragmentos de código en los que se podría aplicar y, en caso contrario, con una explicación de por
Estaba probando varios métodos para implementar un programa que da los dígitos de pi secuencialmente. Probé el método de la serie Taylor , pero resultó converger extremadamente lento (cuando comparé mi resultado con los valores en línea después de algún tiempo). De todos modos, estoy intentando...
Tengo una computadora con 1 MB de RAM y ningún otro almacenamiento local. Debo usarlo para aceptar 1 millón de números decimales de 8 dígitos a través de una conexión TCP, ordenarlos y luego enviar la lista ordenada a través de otra conexión TCP. La lista de números puede contener duplicados, que...
Dada una función que produce un entero aleatorio en el rango de 1 a 5, escriba una función que produzca un entero aleatorio en el rango de 1 a 7. ¿Qué es una solución simple? ¿Cuál es una solución efectiva para reducir el uso de memoria o ejecutarse en una CPU más
Me han dado esta pregunta de entrevista: Dado un archivo de entrada con cuatro mil millones de enteros, proporcione un algoritmo para generar un entero que no esté contenido en el archivo. Suponga que tiene 1 GB de memoria. Haga un seguimiento de lo que haría si tuviera solo 10 MB de...
Quiero crear un servicio de acortador de URL donde pueda escribir una URL larga en un campo de entrada y el servicio acorta la URL a " http://www.example.org/abcdef". En lugar de " abcdef" puede haber cualquier otra cadena que contenga seis caracteres a-z, A-Z and 0-9. Eso hace que 56 ~ 57 mil...