Número mínimo de pilas posibles usando cajas de capacidades dadas

Dado N cajas con sus capacidades que denota el número total de cajas que puede contener encima. Puede apilar las cajas una encima de la otra siempre que el número total de cajas encima de cada caja sea menor o igual a su capacidad. Encuentra el número mínimo de pilas que se pueden hacer usando … Continue reading «Número mínimo de pilas posibles usando cajas de capacidades dadas»

Encuentra pares de elementos de dos arreglos diferentes cuyo producto sea un cuadrado perfecto

Prerrequisitos: Factorización prima usando Sieve Dados dos arreglos arr1[] y arr2[] de tamaño M y N con elementos distintos en cada uno de los arreglos, la tarea es encontrar ese par de elementos (uno del primer arreglo y otro del segundo array) cuyo producto es un cuadrado perfecto. Imprime -1 si no se pueden formar … Continue reading «Encuentra pares de elementos de dos arreglos diferentes cuyo producto sea un cuadrado perfecto»

Aplanar BST a lista ordenada | Orden decreciente

Dado un árbol de búsqueda binario, la tarea es aplanarlo en una lista ordenada en orden decreciente. Precisamente, el valor de cada Node debe ser mayor que los valores de todos los Nodes a su derecha, y su Node izquierdo debe ser NULL después del aplanamiento. Debemos hacerlo en O(H) espacio extra donde ‘H’ es … Continue reading «Aplanar BST a lista ordenada | Orden decreciente»

Divida la array en dos partes con la misma suma de acuerdo con las restricciones dadas

Dada una array arr[] de N enteros, la tarea es seleccionar un entero x (que puede o no estar presente en la array) y eliminar todas sus ocurrencias de la array y dividir la array restante en dos sub no vacíos -conjuntos tales que: Los elementos del primer conjunto son estrictamente más pequeños que x … Continue reading «Divida la array en dos partes con la misma suma de acuerdo con las restricciones dadas»

Haz n usando 1 y 2 con un número mínimo de términos múltiplo de k

Dados dos enteros positivos n y k . n se puede representar como la suma de 1 y 2 de muchas maneras, utilizando múltiples números de términos. La tarea es encontrar el número mínimo de términos de 1 y 2 para hacer la suma n y también el número de términos debe ser múltiplo de … Continue reading «Haz n usando 1 y 2 con un número mínimo de términos múltiplo de k»

¿Por qué todo desarrollador debería aprender estructuras de datos y algoritmos?

Los desarrolladores de software son considerados héroes desconocidos que diseñan, ejecutan, implementan y administran programas de software. De hecho, es una opción de carrera lucrativa que promete salarios increíblemente altos, un crecimiento profesional increíble y oportunidades globales. Según la encuesta, el desarrollo de software será testigo de una increíble tasa de crecimiento del 19% , … Continue reading «¿Por qué todo desarrollador debería aprender estructuras de datos y algoritmos?»

Caché olvidado kd-Tree

Las estructuras de datos kd-tree ajenas a la memoria caché son una gran utilidad que realiza búsquedas de rango ortogonal multidimensional. Uno de los términos más destacados de los árboles kd es la partición del espacio binario que subdivide periódicamente el espacio en dos conjuntos convexos mediante el uso de hiperplanos como división. Este artículo … Continue reading «Caché olvidado kd-Tree»

Programa C++ para convertir números romanos a decimales entre 1 y 3999

Dado un número romano, la tarea es encontrar su valor decimal correspondiente. Ejemplo :  Input: IX Output: 9 IX is a Roman symbol which represents 9 Input: XL Output: 40 XL is a Roman symbol which represents 40 Input: MCMIV Output: 1904 M is a thousand, CM is nine hundred and IV is four Los … Continue reading «Programa C++ para convertir números romanos a decimales entre 1 y 3999»

Algoritmo de Cristian

El Algoritmo de Cristian es un algoritmo de sincronización de reloj que se utiliza para sincronizar la hora con un servidor de hora mediante procesos de cliente. Este algoritmo funciona bien con redes de baja latencia donde el tiempo de ida y vuelta es corto en comparación con la precisión, mientras que los sistemas/aplicaciones distribuidas … Continue reading «Algoritmo de Cristian»

Reorganice los caracteres en una string de modo que no haya dos adyacentes iguales usando hash

Dada una string str con caracteres repetidos, la tarea es reorganizar los caracteres en una string de modo que no haya dos caracteres adyacentes iguales. Si es posible, imprima Sí , de lo contrario, imprima No. Ejemplos:  Entrada: str = “geeksforgeeks”  Salida: Sí  , “egeksforegeks” es uno de esos arreglos. Entrada: str = “bbbbb”  Salida: … Continue reading «Reorganice los caracteres en una string de modo que no haya dos adyacentes iguales usando hash»