Algoritmo de Dekker en Sincronización de Procesos

Requisito previo: sincronización de procesos, comunicación entre procesos  Para obtener dicha exclusión mutua, espera limitada y progreso, se han implementado varios algoritmos, uno de los cuales es el algoritmo de Dekker. Para comprender el algoritmo, comprendamos primero la solución al problema de la sección crítica. Un proceso generalmente se representa como:   do { //entry section critical … Continue reading «Algoritmo de Dekker en Sincronización de Procesos»

Conteo de longitudes únicas de componentes conectados para un gráfico no dirigido usando STL

Dado un gráfico no dirigido, la tarea es encontrar el tamaño de cada componente conectado e imprimir el número de tamaños únicos de los componentes conectados.  Como se muestra arriba, el conteo (tamaño del componente conectado) asociado con los componentes conectados es 2, 3 y 2. Ahora, el conteo único de los componentes es 2 … Continue reading «Conteo de longitudes únicas de componentes conectados para un gráfico no dirigido usando STL»

Divida una string binaria en K subconjuntos minimizando la suma de productos de ocurrencias de 0 y 1

Dada una string binaria S , la tarea es dividir la secuencia en K subconjuntos no vacíos de modo que la suma de los productos de las ocurrencias de 0 y 1 para todos los subconjuntos sea mínima. Si es imposible imprima -1. Ejemplos:   Entrada: S = “0001”, K = 2  Salida: 0  Explicación  Tenemos … Continue reading «Divida una string binaria en K subconjuntos minimizando la suma de productos de ocurrencias de 0 y 1»

Divida N en K partes únicas de manera que el mcd de esas partes sea máximo

Dado un entero positivo N , la tarea es dividirlo en K partes únicas de manera que la suma de estas partes sea igual al número original y el mcd de todas las partes sea máximo. Imprime el gcd máximo si existe tal división; de lo contrario, imprime -1 .  Ejemplos:  Entrada: N = 6, … Continue reading «Divida N en K partes únicas de manera que el mcd de esas partes sea máximo»

Contar inversiones usando conjunto ordenado y GNU C++ PBDS

Dada una array arr[] de N enteros. La tarea es encontrar el número de inversión. Dos elementos arr[i] y arr[j] forman una inversión si arr[i] > arr[j] e i < j .  Ejemplos  Entrada: arr[] = {8, 4, 2, 1}  Salida: 6  Explicación:  la array dada tiene seis inversiones:   (8, 4): arr[0] > arr[1] y … Continue reading «Contar inversiones usando conjunto ordenado y GNU C++ PBDS»

Microsoft Experiencia de entrevista para el puesto de tiempo completo de ingeniero de software en Microsoft Ireland Research

Puesto: ingeniero de software sénior: equipo de Office 365 Inicialmente solicité el puesto de ingeniero de software sénior en Office 365 Team en Dublín, Irlanda, en agosto de 2018. Después de un mes, recibí una llamada telefónica del reclutador para conversar rápidamente sobre mi situación actual. Me hizo las siguientes preguntas: 1) ¿Por qué ha … Continue reading «Microsoft Experiencia de entrevista para el puesto de tiempo completo de ingeniero de software en Microsoft Ireland Research»

Encuentre el k-ésimo elemento en la serie generada por los N rangos dados

Dados N rangos no superpuestos L[] y R[] donde cada rango comienza después de que finaliza el rango anterior, es decir , L[i] > R[i – 1] para todos los i válidos . La tarea es encontrar el K -ésimo elemento en la serie que se forma después de ordenar todos los elementos en todos … Continue reading «Encuentre el k-ésimo elemento en la serie generada por los N rangos dados»

La subsecuencia alterna más larga que tiene la suma máxima de elementos

Dada una lista de longitud N con enteros positivos y negativos. La tarea es elegir la subsecuencia alterna más larga de la secuencia dada (es decir, el signo de cada elemento siguiente es el opuesto al signo del elemento actual). Entre todas esas subsecuencias, tenemos que elegir una que tenga la suma máxima de elementos … Continue reading «La subsecuencia alterna más larga que tiene la suma máxima de elementos»

Suma máxima posible para una subsecuencia tal que no aparecen dos elementos a una distancia < K en la array

Dada una array arr[] de n enteros y un entero k , la tarea es encontrar la suma máxima posible para una subsecuencia tal que no aparezcan dos elementos de la subsecuencia a una distancia ≤ k en la array original. Ejemplos:   Entrada: arr[] = {5, 3, 4, 11, 2}, k=1  Salida: 16  Todas las … Continue reading «Suma máxima posible para una subsecuencia tal que no aparecen dos elementos a una distancia < K en la array»

Número de subarrays con todos 1

Dada una array N*N que contiene solo 0 y 1, la tarea es contar el número de subarrays que contienen solo 1. Ejemplos:   Input : arr[][] = {{1, 1, 1}, {1, 1, 1}, {1, 1, 1}} Output : 36 Explanation: All the possible submatrices will have only 1s. Since, there are 36 submatrices in total, … Continue reading «Número de subarrays con todos 1»