Camino más corto entre dos puntos en una Array con como máximo K obstáculos

Dada una array de array 2-D [][] de tamaño FILA * COL y un número entero K, donde cada array de celda [i][j] es 0 (vacío) o 1 (obstáculo) . Un puntero se puede mover hacia arriba, hacia abajo, hacia la izquierda o hacia la derecha desde y hacia una celda vacía en un solo … Continue reading «Camino más corto entre dos puntos en una Array con como máximo K obstáculos»

Un método interesante para generar números binarios del 1 al n

Dado un número n, escribe una función que genere e imprima todos los números binarios con valores decimales del 1 al n.  Ejemplos:  C++ // C++ program to generate binary numbers from 1 to n #include <bits/stdc++.h> using namespace std;   // This function uses queue data structure to print binary // numbers void generatePrintBinary(int … Continue reading «Un método interesante para generar números binarios del 1 al n»

Método iterativo para encontrar la altura del árbol binario

Hay dos convenciones para definir la altura de un árbol binario  Número de Nodes en el camino más largo desde la raíz hasta el Node más profundo.  Número de aristas en el camino más largo desde la raíz hasta el Node más profundo. En este post, se sigue la primera convención. Por ejemplo, la altura … Continue reading «Método iterativo para encontrar la altura del árbol binario»

Modifique el árbol binario reemplazando todos los Nodes en niveles pares e impares por sus cuadrados perfectos pares o impares más cercanos, respectivamente

Dado un árbol binario que consiste en N Nodes, la tarea es reemplazar todos los Nodes que están presentes en los niveles pares en un árbol binario con su cuadrado perfecto par más cercano y reemplazar los Nodes en los niveles impares con su cuadrado perfecto impar más cercano . Ejemplos: Entrada:        … Continue reading «Modifique el árbol binario reemplazando todos los Nodes en niveles pares e impares por sus cuadrados perfectos pares o impares más cercanos, respectivamente»

Imprima todos los Nodes excepto el Node más a la derecha de cada nivel del árbol binario

Dado un árbol binario, la tarea es imprimir todos los Nodes excepto el más a la derecha en cada nivel del árbol. La raíz se considera en el nivel 0 y el Node más a la derecha de cualquier nivel se considera como un Node en la posición 0. Ejemplos:   Input: 1 / \ 2 … Continue reading «Imprima todos los Nodes excepto el Node más a la derecha de cada nivel del árbol binario»

Gire a la izquierda los dígitos de los valores de Node de todos los niveles de un árbol binario en orden creciente

Dado un árbol binario , la tarea es modificar el árbol girando a la izquierda cada Node cualquier número de veces, de modo que cada nivel consista en valores de Node en orden creciente de izquierda a derecha. Si no es posible organizar los valores de los Nodes de cualquier nivel en orden creciente, imprima … Continue reading «Gire a la izquierda los dígitos de los valores de Node de todos los niveles de un árbol binario en orden creciente»

Número mínimo de inversiones de paréntesis necesarias para equilibrar una expresión

Dada una expresión con solo ‘}’ y ‘{‘. La expresión puede no estar equilibrada. Encuentre el número mínimo de inversiones de paréntesis para equilibrar la expresión. Ejemplos:  Input: exp = «}{» Output: 2 We need to change ‘}’ to ‘{‘ and ‘{‘ to ‘}’ so that the expression becomes balanced, the balanced expression is ‘{}’ … Continue reading «Número mínimo de inversiones de paréntesis necesarias para equilibrar una expresión»

Cola de prioridad usando la lista doblemente enlazada

Dados los Nodes con su prioridad, implemente una cola de prioridad usando una lista doblemente enlazada.  Requisito previo: cola de prioridad push(): esta función se utiliza para insertar nuevos datos en la cola. pop(): esta función elimina el elemento con el valor de prioridad más bajo de la cola. peek() / top(): esta función se … Continue reading «Cola de prioridad usando la lista doblemente enlazada»

Experiencia de entrevista de MakeMyTrip | Conjunto 14 (para desarrolladores sénior de Android)

Desarrollador senior de Android (4-8 años) Calificación y experiencia- · 4-8 años de experiencia en desarrollo de software · Experiencia en desarrollo de aplicaciones móviles en Android es indispensable. · Se valorará experiencia en start-up. Competencias funcionales- · Estructuras de datos y algoritmos, ORM · Manos a la obra para J2EE en un entorno profesional … Continue reading «Experiencia de entrevista de MakeMyTrip | Conjunto 14 (para desarrolladores sénior de Android)»

Generación de casos de prueba | Conjunto 6 (árbol binario no ponderado aleatorio)

Generación de árbol binario no ponderado aleatorio : Dado que se trata de un árbol, el plan de generación de datos de prueba es tal que no se forma ningún ciclo. El número de aristas es uno menos que el número de vértices. Para cada EJECUCIÓN , primero imprima el recuento de Nodes, por ejemplo, … Continue reading «Generación de casos de prueba | Conjunto 6 (árbol binario no ponderado aleatorio)»