Maksimalna godina stanovništva LeetCode rješenje

Izjava o problemu

Maksimalna godina stanovništva LeetCode rješenje kaže da – Dat vam je 2D niz cijelih brojeva logs gdje svaki logs[i] = [birthi, deathi] označava godine rođenja i smrti ith osoba.

The populacija od neke godine x je broj ljudi živih tokom te godine. The ith osoba se računa u godini x's stanovništvo ako x je u uključujući domet [birthi, deathi - 1]. Imajte na umu da osoba jeste ne računa se u godinu u kojoj su umrli.

povratak Maksimalna godina stanovništva.

 

Primer 1:

Ulaz:

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

Izlaz:

 1993

Objašnjenje:

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

Primer 2:

Ulaz:

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

Izlaz:

 1960

Objašnjenje:

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

 

Ograničenja:

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

 

ALGORITAM –

  • Da biste pronašli maksimalnu godinu stanovništva. Prvo ćemo se fokusirati na ukupnu brojnu populaciju u svakoj godini tako što ćemo provjeriti svaki interval date matrice i pronaći maksimalan broj i vratiti godinu maksimalne vrijednosti. Ako je broj isti onda jednostavno vraćamo prethodnu godinu (najranija godina).

Pristup za maksimalnu godinu stanovništva LeetCode rješenje

– Prvo ćemo napraviti jedan niz veličine 101 jer ograničenja godina leže u rasponu od 1950. do 2050. godine.

– nakon toga ćemo pokrenuti petlju od 0 do dužine dnevnika i povećati broj niza na indeksu (logs[i][o]) za 1 i smanjiti broj niza na indeksu (logs[i ][1]) od 1

– ponovo ćemo pokrenuti petlju od 0 do dužine niza i napraviti jednu varijablu prev count i ažurirati svaki element niza pomoću array+prev i update prev by prev = array[i].

– konačno ćemo pokrenuti petlju i pronaći maksimalnu vrijednost u nizu i vratiti taj određeni indeks (indeks+1950). Stoga pronađite maksimalnu godinu stanovništva.

Maksimalna godina stanovništva Leetcode rješenje

Kod:

Maksimalna godina stanovništva Python Leetcode rješenje:

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

Maksimalna godina stanovništva Java Leetcode rješenje:

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;
        
        
    }
}

Analiza složenosti maksimalne godine stanovništva Leetcode rješenje:

Složenost vremena

Vremenska složenost gornjeg rješenja je O(n).

Složenost vremena

Prostorna složenost gornjeg rješenja je O(1).

Kako smo napravili niz dužine = 101. Tako da ga možemo smatrati konstantnim

 

 

 

 

 

 

Minimalni swapovi za grupisati sve 1 zajedno Leetcode rješenje

Najava problema Minimalne zamjene za grupisanje svih 1 zajedno Leetcode rješenje – kaže da Dati podatke binarnog niza, vratite minimalni broj zamjena potrebnih za grupisanje svih 1 prisutnih u nizu zajedno na bilo kojem mjestu u nizu. Ulaz: podaci = [1,0,1,0,1] Izlaz: 1 Objašnjenje: Postoje 3 načina da grupišete sve…

Čitaj više

Maksimalna godina stanovništva LeetCode rješenje

Najava problema: Maksimalna godina stanovništva Leetcode Rešenje kaže da – Dat vam je 2D celobrojni niz evidencije gde svaki logs[i] = [birthi, deathi] označava godine rođenja i smrti i-te osobe. Broj stanovnika neke godine x je broj ljudi koji žive u toj godini? I-ta osoba se računa u populaciju godine x ako je x …

Čitaj više

Najbolja tačka sastanka LeetCode rješenje

Izjava o problemu: Najbolja tačka sastanka Leetcode rješenje kaže – S obzirom na amxn binarnu mrežu gdje svaki 1 označava dom jednog prijatelja, vratite minimalnu ukupnu udaljenost putovanja. Ukupna udaljenost putovanja je zbir udaljenosti između kuća prijatelja i mjesta sastanka. Udaljenost se izračunava pomoću Manhattan Distance,…

Čitaj više

Rješenje za minimalnu sumu putanje Leetcode

Najava problema Minimalna suma putanje LeetCode rješenje – “Minimalna suma putanje” kaže da je data anxm mreža koja se sastoji od nenegativnih cijelih brojeva i da moramo pronaći putanju od gornjeg lijevog do donjeg desnog, što minimizira zbir svih brojeva duž putanje . Možemo samo da se krećemo…

Čitaj više

Minimalna cijena penjanja stepenicama LeetCode rješenje

Iskaz problema Minimalni trošak penjanja stepenicama LeetCode Rješenje – Dat je trošak cijelog niza, gdje je trošak[i] trošak i-og koraka na stepeništu. Kada platite troškove, možete se popeti na jednu ili dvije stepenice. Možete početi od koraka sa indeksom 0 ili od koraka sa…

Čitaj više

Broj podnizova koji zadovoljavaju zadani zbirni uvjet rješenje LeetCode

Iskaz problema Broj podnizova koji zadovoljavaju dani zbirni uslov LeetCode rješenje – kaže da je dat niz cijelih brojeva nums i cjelobrojni cilj. Vraća broj nepraznih podnizova brojeva tako da je zbir minimalnog i maksimalnog elementa na njemu manji ili jednak cilju. Pošto odgovor može biti previše…

Čitaj više

Umetanje Delete GetRandom O(1) Leetcode Solution

Iskaz problema Rešenje Insert Delete GetRandom O(1) LeetCode – “Insert Delete GetRandom O(1)” traži od vas da implementirate ove četiri funkcije u O(1) vremenskoj složenosti. insert(val): Ubacite val u nasumični skup i vratite true ako element u početku nije prisutan u skupu. Vraća false kada…

Čitaj više

Translate »