Encuentre la solución Town Judge LeetCode

Planteamiento del problema: encuentre el código Leetcode del juez de la ciudad Solución: en una ciudad, hay n personas etiquetadas del 1 al n. Corre el rumor de que una de estas personas es en secreto el juez del pueblo. Si el juez del pueblo existe, entonces: El juez del pueblo no confía en nadie. Todos (excepto el juez del pueblo) confían en el juez del pueblo. …

Lea más

Solución LeetCode de superposición de rectángulos

Declaración del problema: Rectángulo superpuesto Solución LeetCode: dice que un rectángulo alineado con el eje se representa como una lista, [x1, y1, x2, y2], donde (x1, y1) es la coordenada de su esquina inferior izquierda y (x2 , y2) es la coordenada de su esquina superior derecha. Sus bordes superior e inferior son paralelos al eje X, y su lado izquierdo...

Lea más

Máxima Población Año Solución LeetCode

Planteamiento del problema

Máxima Población Año Solución LeetCode dice que: se le da una matriz de enteros 2D logs donde cada logs[i] = [birthi, deathi] indica los años de nacimiento y muerte del ith persona.

La población de algún año x es el número de personas vivas durante ese año. los ith una persona se cuenta en el año xla población si x está en el incluso distancia [birthi, deathi - 1]. Tenga en cuenta que la persona es no contados en el año en que mueren.

Regreso la Población Máxima Año.

 

Ejemplo 1:

Entrada:

 logs = [[1993,1999],[2000,2010]]

Salida:

 1993

Explicación:

 The maximum population is 1, and 1993 is the earliest year with this population.

Ejemplo 2:

Entrada:

 logs = [[1950,1961],[1960,1971],[1970,1981]]

Salida:

 1960

Explicación:

 
The maximum population is 2, and it had happened in years 1960 and 1970.
So the maximum population year is 1960.

 

Restricciones:

  • 1 <= logs.length <= 100
  • 1950 <= birthi < deathi <= 2050

 

ALGORITMO –

  • Para Encontrar el Año de Máxima Población. Primero, nos enfocaremos en el número total de población en cada año revisando cada intervalo de la matriz dada y encontraremos el recuento máximo y devolveremos el año de valor máximo. Si el recuento es el mismo, simplemente devolvemos el año anterior (primer año).

Enfoque para la solución LeetCode del año de población máxima

– Primero, crearemos una matriz de tamaño 101 porque las restricciones de años se encuentran en el rango de 1950 a 2050.

– después de eso, ejecutaremos un ciclo desde 0 hasta la longitud de los registros y aumentaremos el conteo de la matriz en el índice (logs[i][o]) en 1 y disminuiremos el conteo de la matriz en el índice (logs[i ][1]) por 1

– de nuevo ejecutaremos un ciclo desde 0 hasta la longitud de la matriz y haremos que una variable prev cuente y actualice cada elemento de la matriz por matriz+prev y actualice prev por prev = matriz[i].

– por último, ejecutaremos un ciclo y encontraremos el valor máximo en la matriz y devolveremos ese índice en particular (índice + 1950). Por lo tanto, encuentre el año de máxima población.

Máxima Población Año Solución Leetcode

Código:

Año de población máxima Solución Python Leetcode:

class Solution:
    def maximumPopulation(self, logs: List[List[int]]) -> int:
        arr = [0]*101
        for i in range(len(logs)):
            
            arr[logs[i][0]-1950] += 1
            
            arr[logs[i][1]-1950] -= 1
            
        
        previous = arr[0]
        for i in range(1,101):
            arr[i] += previous
            previous = arr[i]
            
        print(arr)
        maxi = 0
        ind = 0
        
        for i in range(len(arr)):
            if arr[i] > maxi:
                maxi = arr[i]
                ind = i + 1950
        print(maxi)        
        return ind

Año de población máxima Solución Java Leetcode:

class Solution {
    public int maximumPopulation(int[][] logs) {
        
        int[] arr = new int[101];
        for(int i = 0;i < logs.length;i++){
            
            arr[logs[i][0]-1950] +=1;
            arr[logs[i][1]-1950] -=1;
            
            
        }
        
        int prev = arr[0];
        for(int i=1;i<arr.length;i++){
            
            arr[i] += prev;
            prev = arr[i];
            
        }
        
        int ind = 0;
        int maxi = 0;
        
        for(int i=0;i<arr.length;i++){
            
            if(maxi < arr[i]){
                
                maxi = arr[i];
                ind = i+1950;
            }
        }
        
        
        return ind;
        
        
    }
}

Análisis de Complejidad de la Solución Leetcode del Año Máximo de Población:

Complejidad de tiempo

La complejidad temporal de la solución anterior es O(n).

Complejidad de tiempo

La complejidad espacial de la solución anterior es O(1).

Como hemos hecho una matriz de longitud = 101. Entonces podemos considerarlo constante

 

 

 

 

 

 

Solución LeetCode transversal en orden de árbol binario

Declaración del problema: Recorrido en orden de árbol binario Solución de LeetCode Dada la raíz de un árbol binario, devolver el recorrido en orden de los valores de sus nodos. Ejemplo 1: Entrada: root = [1,null,2,3] Salida: [1,3,2] Ejemplo 2: Entrada: root = [] Salida: [] Ejemplo 3: Entrada: root = [1] Salida: [1] Restricciones: El número de nodos en...

Lea más

Solución Detect Capital Leetcode

Declaración del problema: la solución Detect Capital Leetcode dice que: dada una cadena, devuelve verdadero si el uso de mayúsculas es correcto. Las condiciones para las palabras correctas son: Todas las letras de esta palabra son mayúsculas, como "UK". Todas las letras de esta palabra no son mayúsculas, como "going". Solamente …

Lea más

Máxima Población Año Solución LeetCode

Declaración del problema: Año de máxima población La solución de Leetcode dice que: se le proporciona una matriz de registros de enteros 2D donde cada registro [i] = [birthi, deathi] indica los años de nacimiento y muerte de la i-ésima persona. ¿La población de algún año x es el número de personas vivas durante ese año? La i-ésima persona se cuenta en la población del año x si x es...

Lea más

Costo mínimo para subir escaleras Solución LeetCode

Declaración del problema Costo mínimo para subir escaleras Solución LeetCode: se proporciona un costo de matriz entera, donde costo[i] es el costo del iésimo escalón en una escalera. Una vez que pague el costo, puede subir uno o dos escalones. Puede comenzar desde el paso con el índice 0, o desde el paso con...

Lea más

Encuentre la solución Town Judge LeetCode

Declaración del problema: Encuentre la solución LeetCode del juez de la ciudad: en una ciudad, hay n personas etiquetadas del 1 al n. Hay un rumor de que una de estas personas es secretamente el juez del pueblo y necesitamos encontrar al juez del pueblo. Si el juez del pueblo existe, entonces: El juez del pueblo no confía en nadie. …

Lea más

Organización de monedas Solución de Leetcode

Declaración del problema La solución de LeetCode de arreglo de monedas: "Arreglar monedas" le pide que construya una escalera con estas monedas. La escalera consta de k filas, donde i-ésima fila consta exactamente de i monedas. La última fila de la escalera puede no estar completa. Por la cantidad dada de monedas, devuelve...

Lea más

Solución de concatenación de Array LeetCode

Descripción del problema: la solución de concatenación de array Leetcode: establece que dada una matriz de enteros nums de longitud n, desea crear una matriz ans de longitud 2n donde ans[i] == nums[i] y ans[i + n] = = nums[i] for 0 <= i < n (0-indexado). Específicamente, ans es la concatenación de dos matrices nums. Devuelve la matriz ans. Primero tratemos de entender el problema y lo que plantea. El problema …

Lea más

Translate »