Índice de kth set bit en una array binaria con consultas de actualización

Dada una array binaria arr[] y q consultas de los siguientes tipos:   k: encuentre el índice del k -ésimo conjunto de bits, es decir , k -ésimo 1 en la array. (x, y): actualice arr[x] = y donde y puede ser 0 o 1 . Ejemplos:   Entrada: arr[] = {1, 0, 1, 0, 0, 1, … Continue reading «Índice de kth set bit en una array binaria con consultas de actualización»

Número de tripletes en el arreglo que tienen el subarreglo xor igual

Dada una array de números enteros Arr . La tarea es contar el número de tripletes (i, j, k) tales que A i ^ A i+1 ^ A i+2 ^ …. ^ A j-1 = A j ^ A j+1 ^ A j+2 ^ ….. ^ A k , y 0 ≤i< j≤ k < … Continue reading «Número de tripletes en el arreglo que tienen el subarreglo xor igual»

Consultas por número de elementos distintos en un subarreglo

Dada una array ‘a[]’ de tamaño n y número de consultas q. Cada consulta se puede representar mediante dos números enteros l y r. Su tarea es imprimir el número de enteros distintos en el subarreglo l a r. Dado a[i] <= 10 6 Ejemplos: Input : a[] = {1, 1, 2, 1, 3} q … Continue reading «Consultas por número de elementos distintos en un subarreglo»

Lista autoorganizada: método de conteo

La lista autoorganizada es una lista que se reorganiza o se reorganiza para un mejor rendimiento. En una lista simple, un elemento a buscar se busca de manera secuencial, lo que da la complejidad temporal de O(n). Pero en un escenario real, no todos los elementos se buscan con frecuencia y, la mayoría de las … Continue reading «Lista autoorganizada: método de conteo»

Programa C++ para encontrar la suma de la array usando Bitwise OR después de dividir la array dada en dos mitades después de K cambios circulares

Dada una array A[] de longitud N , donde N es un número par, la tarea es responder Q consultas independientes donde cada consulta consiste en un número entero positivo K que representa el número de desplazamientos circulares realizados en la array y encontrar la suma de elementos realizando la operación Bitwise OR en la … Continue reading «Programa C++ para encontrar la suma de la array usando Bitwise OR después de dividir la array dada en dos mitades después de K cambios circulares»

Lista enlazada XOR: una lista doblemente enlazada eficiente en memoria | Serie 1

Una lista doblemente enlazada ordinaria requiere espacio para dos campos de dirección para almacenar las direcciones de los Nodes anterior y siguiente. Se representa de la siguiente manera en la imagen de abajo. A partir de la imagen a continuación, se puede representar que la dirección del Node anterior se retiene y se transfiere para … Continue reading «Lista enlazada XOR: una lista doblemente enlazada eficiente en memoria | Serie 1»

Omitir lista | Juego 2 (inserción)

Ya hemos discutido la idea de Skip list y cómo funcionan en Skip List | Serie 1 (Introducción) . En este artículo, discutiremos cómo insertar un elemento en la lista Omitir. Decidir el nivel de los Nodes Cada elemento de la lista está representado por un Node, el nivel del Node se elige aleatoriamente mientras … Continue reading «Omitir lista | Juego 2 (inserción)»

Árbol cartesiano – Part 1

Un árbol cartesiano es una estructura de datos de árbol creada a partir de un conjunto de datos que obedece a las siguientes invariantes estructurales:  El árbol obedece a la propiedad del montón min (o max): cada Node es menor (o mayor) que sus hijos. Un recorrido en orden de los Nodes produce los valores … Continue reading «Árbol cartesiano – Part 1»

Aplicación de árbol de sufijos 5: substring común más larga

Dadas dos strings X e Y, busque la substring común más larga de X e Y. Los enfoques Naive [O(N*M 2 )] y Dynamic Programming [O(N*M)] ya se analizan aquí . En este artículo, discutiremos un enfoque de tiempo lineal para encontrar LCS usando el árbol de sufijos (La aplicación del árbol de sufijos 5th). Aquí construiremos … Continue reading «Aplicación de árbol de sufijos 5: substring común más larga»

Diseña un juego de ajedrez

Declaración del problema : El problema es diseñar un juego de ajedrez utilizando principios orientados a objetos. Preguntado en: Adobe, Amazon, Microsoft, etc. Solución: este tipo de preguntas se hacen en entrevistas para juzgar la habilidad de Diseño Orientado a Objetos de un candidato. Entonces, antes que nada, debemos pensar en las clases. Las principales … Continue reading «Diseña un juego de ajedrez»