Rétthyrningur skarast LeetCode lausn

Vandamál: Rétthyrningur skarast LeetCode Lausn – segir að ásjafnaður rétthyrningur sé sýndur sem listi, [x1, y1, x2, y2], þar sem (x1, y1) er hnit neðra vinstra hornsins og (x2) , y2) er hnit efst í hægra horninu. Efri og neðri brúnir þess eru samsíða X-ásnum og vinstri …

Lesa meira

Hámarks mannfjöldaár LeetCode lausn

Vandamál yfirlýsing

Hámarks mannfjöldaár LeetCode lausn segir að - Þú færð 2D heiltalna fylki logs þar sem hver logs[i] = [birthi, deathi] gefur til kynna fæðingar- og dánarár ith manneskja.

The íbúa einhvers árs x er fjöldi fólks á lífi á því ári. The ith maður er talinn á árinu xíbúafjölda ef x er í innifalið svið [birthi, deathi - 1]. Athugið að viðkomandi er það ekki talið árið sem þeir deyja.

Arðsemi Hámarksfjöldi Ár.

 

Dæmi 1:

inntak:

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

Output:

 1993

Útskýring:

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

Dæmi 2:

inntak:

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

Output:

 1960

Útskýring:

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

 

Takmarkanir:

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

 

ALGÓRITIMA -

  • Til að finna hámarksfjöldaár. Í fyrsta lagi munum við einbeita okkur að heildarfjölda íbúa á hverju ári með því að haka í hvert bil tiltekins fylkis og finna hámarksfjölda og skila ári hámarksgildis. Ef fjöldinn er sá sami þá skilum við einfaldlega fyrra ári (fyrsta árið).

Nálgun fyrir hámarks mannfjöldaár LeetCode lausn

– Í fyrsta lagi munum við búa til eina fylki af stærð 101 vegna þess að áramótin liggja á bilinu 1950 til 2050.

- eftir það munum við keyra lykkju frá 0 að lengd logs og munum auka fjölda fylkisins við index(logs[i][o]) um 1 og lækka fjölda fylkisins við index (logs[i] ][1]) eftir 1

– aftur munum við keyra lykkju frá 0 að lengd fylkisins og láta eina breytu prev telja og uppfæra hvern þátt í fylkinu með fylki+prev og uppfæra prev by prev = fylki[i].

– loksins munum við keyra lykkju og finna hámarksgildið í fylkinu og skila þeirri tilteknu vísitölu (index+1950). Finndu því hámarksfjöldaár.

Hámarksfjöldi ár Leetcode lausn

code:

Hámarks mannfjöldaár Python Leetcode lausn:

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

Hámarksfjöldi ár Java Leetcode lausn:

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

Flækjustigsgreining á hámarks mannfjöldaári Leetcode lausn:

Tímaflækjustig

Tímaflókni ofangreindrar lausnar er O(n).

Tímaflækjustig

Space Complexity ofangreindrar lausnar er O(1).

Eins og við höfum búið til fylki með lengd = 101. Þannig að við getum talið það stöðugt

 

 

 

 

 

 

Binary Tree Inorder Traversal LeetCode Lausn

Vandamálsyfirlýsing: Tvöfaldur tré í röð LeetCode lausn Með hliðsjón af rót tvöfalds trés, skilaðu óraða yfirferð hnúta þess. Dæmi 1: Inntak: rót = [1,null,2,3] Úttak: [1,3,2] Dæmi 2: Inntak: rót = [] Úttak: [] Dæmi 3: Inntak: rót = [1] Úttak: [1] Takmarkanir: Fjöldi hnúta í …

Lesa meira

Finndu Capital Leetcode lausn

Vandamálayfirlýsing: Detect Capital Leetcode Solution segir að - Gefinn strengur, skilaðu satt ef notkun hástafa í honum er rétt. Skilyrði fyrir réttu orðin eru: Allir stafir í þessu orði eru hástafir, eins og „Bretland“. Allir stafir í þessu orði eru ekki hástafir, eins og „að fara“. Aðeins…

Lesa meira

Lágmarkskostnaður klifurstiga LeetCode lausn

Vandamálsyfirlýsing Lágmarkskostnaður við að klifra stiga LeetCode Lausn – Gefinn er upp heiltölufylkiskostnaður, þar sem kostnaður[i] er kostnaður við þrep á stiga. Þegar þú hefur borgað kostnaðinn geturðu annað hvort klifrað eitt eða tvö þrep. Þú getur annað hvort byrjað á skrefinu með vísitölu 0, eða skrefinu með ...

Lesa meira

Að raða mynt Leetcode lausn

Vandamálayfirlýsing LeetCode Lausnin – „Að raða mynt“ biður þig um að byggja stiga með þessum myntum. Stiginn samanstendur af k röðum, þar sem röðin samanstendur af nákvæmlega i mynt. Það getur verið að síðasta röð stigans sé ekki fullbúin. Fyrir uppgefið magn af myntum, skilaðu...

Lesa meira

Samtenging Array LeetCode lausn

Lýsing vandamála: Samtenging fylkis Leetcode Lausn: segir að gefið heiltölu fylki tölur af lengd n, viltu búa til fylki ans af lengd 2n þar sem ans[i] == nums[i] og ans[i + n] = = tölur[i] fyrir 0 <= i < n (0-tryggt). Nánar tiltekið, ans er samtenging tveggja fjölda fylkja. Skilaðu fylkinu ans. Við skulum fyrst reyna að skilja vandamálið og hvað það segir. Vandamálið …

Lesa meira

Að snúa mynd LeetCode lausn

Vandamálsyfirlýsing Að snúa mynd LeetCode Lausn – Okkur er gefið fylki af stærð n. Við þurfum að framkvæma 2 verkefni - snúa myndinni lárétt: það þýðir að hverri röð í tilteknu fylki er snúið við og snúðu myndinni við: gerðu alla 0 í 1 og öfugt Skilaðu niðurstöðunni ...

Lesa meira

Translate »