Zgjidhje e vlefshme Anagram Leetcode

Deklarata e problemit Valid Anagram Leetcode Zgjidhja – Duke pasur parasysh dy vargje s dhe t, kthejeni true nëse t është një anagram i s, dhe false ndryshe. Një Anagram është një fjalë ose frazë e formuar duke riorganizuar shkronjat e një fjale ose fraze tjetër, zakonisht duke përdorur të gjitha shkronjat origjinale saktësisht një herë. Shembulli 1: Hyrja: s = "anagram", t = "nagaram" Dalja: …

Lexo më shumë

Vargjet izomorfike Zgjidhje LeetCode

Paraqitja e problemit Vargjet izomorfike Zgjidhja e LeetCode – Duke pasur parasysh dy vargje s dhe t, përcaktoni nëse ato janë izomorfe. Dy vargjet s dhe t janë izomorfe nëse karakteret në s mund të zëvendësohen për të marrë t. Të gjitha shfaqjet e një karakteri duhet të zëvendësohen me një karakter tjetër duke ruajtur rendin e karaktereve. Nuk ka dy karaktere që mund të hartohen në…

Lexo më shumë

Zgjidhja e kodit Leetcode të vargut monotonik

Deklarata e problemit: Zgjidhja e kodit të vargut monotonik – E dhënë një varg është monoton nëse është ose monoton në rritje ose monoton në rënie. Një grup nums është monoton në rritje nëse për të gjitha i <= j, nums[i] <= nums[j]. Një grup nums është monoton në rënie nëse për të gjitha i <= j, nums[i] >= nums[j]. Duke pasur parasysh numrat e një grupi të plotë, kthejeni true nëse jepet…

Lexo më shumë

Zgjidhje High Five LeetCode

Deklarata e problemit: Zgjidhja e kodit të lartë pesë të LeetCode - Duke pasur parasysh një listë të pikëve të studentëve të ndryshëm me emrin "artikull", ku "artikull" ka dy fusha, artikulli[0] përfaqëson ID-në e studentit, dhe artikulli [1] përfaqëson rezultatin e studentit p.sh. artikulli[i]=[IDi, SCOREi] Kthejeni përgjigjen si rezultat i një grupi çiftesh, ku rezultati[j] = …

Lexo më shumë

Shuma e diapazonit të zgjidhjes BST LeetCode

Shuma e diapazonit të zgjidhjes BST LeetCode thotë se – Duke pasur parasysh rrënjën nyjen e një peme kërkimi binar dhe dy numra të plotë të ulët dhe të lartë, ktheni shumën e vlerave të të gjitha nyjeve me një vlerë në diapazonin përfshirës [e ulët, e lartë]. Shembulli 1: Hyrja: rrënja = [10,5,15,3,7,null,18], e ulët = 7, e lartë = 15 Prodhimi: 32 Shpjegim: …

Lexo më shumë

Rotate String LeetCode Solution

Deklarata e problemit Rrotulloni vargun Zgjidhja e LeetCode – Duke pasur parasysh dy vargje s dhe qëllimin, kthejeni true nëse dhe vetëm nëse s mund të bëhet qëllim pas një numri ndërrimesh në s. Një zhvendosje në s konsiston në lëvizjen e karakterit më të majtë të s në pozicionin më të djathtë. Për shembull, nëse s = "abcde", atëherë do të ...

Lexo më shumë

Numri i kolonës së fletës së Excel LeetCode Zgjidhja

Deklarata e problemit Numri i kolonës së fletës së Excel-it LeetCode Solution thotë se Duke pasur parasysh një kolonë Titulli i vargut që përfaqëson titullin e kolonës siç shfaqet në një fletë Excel, ktheni numrin e saj përkatës të kolonës. Për shembull: A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 AB -> 28 … …

Lexo më shumë

Gjeni zgjidhjen e gjykatësit të qytetit LeetCode

Deklarata e problemit: Gjeni gjyqtarin e qytetit Leetcode Zgjidhja: Në një qytet, ka n njerëz të etiketuar nga 1 në n. Ka një thashetheme se një nga këta njerëz është fshehurazi gjykatësi i qytetit. Nëse gjyqtari i qytetit ekziston, atëherë: Gjyqtari i qytetit nuk i beson askujt. Të gjithë (përveç gjykatësit të qytetit) i besojnë gjykatësit të qytetit. …

Lexo më shumë

Mbivendosja drejtkëndëshe Zgjidhja e LeetCode

Deklarata e problemit: Mbivendosja e drejtkëndëshit Zgjidhja e LeetCode – thotë se një drejtkëndësh i përafruar me bosht përfaqësohet si një listë, [x1, y1, x2, y2], ku (x1, y1) është koordinata e këndit të tij poshtë majtas, dhe (x2 , y2) është koordinata e këndit të saj të sipërm djathtas. Skajet e sipërme dhe të poshtme të tij janë paralele me boshtin X, dhe e majta e tij ...

Lexo më shumë

Zgjidhje LeetCode Viti i Popullsisë Maksimale

Deklarata e Problemit

Zgjidhje LeetCode Viti i Popullsisë Maksimale thotë se – Ju jepet një grup me numra të plotë 2D logs ku secila logs[i] = [birthi, deathi] tregon vitet e lindjes dhe të vdekjes së ith personi.

La popullsi prej disa vitesh x është numri i njerëzve të gjallë gjatë atij viti. Të ith një person llogaritet në vit x's popullsisë nëse x ndodhet ne përfshirë varg [birthi, deathi - 1]. Vini re se personi është nuk llogariten në vitin kur vdesin.

Kthim Viti i popullsisë maksimale.

 

1 Shembull:

input:

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

output:

 1993

Shpjegim:

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

2 Shembull:

input:

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

output:

 1960

Shpjegim:

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

 

Kufizimet:

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

 

ALGORITMI -

  • Për të gjetur vitin e popullsisë maksimale. Së pari, ne do të fokusohemi në numrin total të popullsisë në çdo vit duke kontrolluar në çdo interval të matricës së dhënë dhe do të gjejmë numërimin maksimal dhe do të kthejmë vitin e vlerës maksimale. Nëse numërimi është i njëjtë, atëherë thjesht kthejmë vitin e kaluar (vitin më të hershëm).

Qasja për vitin e popullsisë maksimale Zgjidhja LeetCode

– Së pari, ne do të krijojmë një grup me madhësi 101 sepse kufizimet e viteve qëndrojnë në intervalin 1950-2050.

– pas kësaj, ne do të ekzekutojmë një lak nga 0 në gjatësinë e regjistrave dhe do të rrisim numrin e grupit në indeks(logs[i][o]) me 1 dhe do të ulim numrin e grupit në indeks (logs[i ][1]) me 1

– përsëri do të ekzekutojmë një lak nga 0 në gjatësinë e grupit dhe do të bëjmë një numërim të një variabli prev dhe do të përditësojmë çdo element të grupit sipas grupit+prev dhe do të përditësojmë prev nga prev = array[i].

– më në fund, do të ekzekutojmë një lak dhe do të gjejmë vlerën maksimale në grup dhe do të kthejmë atë indeks të veçantë (indeks+1950). Prandaj gjeni vitin maksimal të popullsisë.

Zgjidhja e Leetcode për Vitin e Popullsisë Maksimale

Code:

Zgjidhja e Python Leetcode për Vitin e Popullsisë Maksimale:

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

Zgjidhja e kodit Java Leetcode për Vitin e Popullsisë Maksimale:

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 e kompleksitetit të zgjidhjes së kodit Leet të Vitit të Popullsisë Maksimale:

Kompleksiteti i kohës

Kompleksiteti kohor i zgjidhjes së mësipërme është O(n).

Kompleksiteti i kohës

Kompleksiteti Hapësinor i zgjidhjes së mësipërme është O(1).

Siç kemi bërë një varg me gjatësi = 101. Pra, mund ta konsiderojmë konstante

 

 

 

 

 

 

Translate »