פּראָבלעם סטאַטעמענט
מאַקסימום באַפעלקערונג יאָר LeetCode לייזונג זאגט אַז - איר באַקומען אַ 2 ד ינטאַדזשער מענגע logs
ווו יעדער logs[i] = [birth
i, death
i]
ינדיקייץ די געבורט און טויט יאָרן פון די ith
מענטש.
די באַפעלקערונג פון עטלעכע יאָר x איז די נומער פון מענטשן לעבעדיק אין דעם יאָר. די ith
אַ מענטש ווערט גערעכנט אין יאָר x
ס באַפעלקערונג אויב x
איז אין די אַרייַנגערעכנט קייט [birth
i, death
i - 1]
. באַמערקונג אַז דער מענטש איז טאָן גערעכנט אין דעם יאָר וואָס זיי שטאַרבן.
צוריקקומען די מאַקסימום באַפעלקערונג יאָר.
לעמאָשל קסנומקס:
ינפּוט:
logs = [[1993,1999],[2000,2010]]
אָוטפּוט:
1993
דערקלערונג:
The maximum population is 1, and 1993 is the earliest year with this population.
לעמאָשל קסנומקס:
ינפּוט:
logs = [[1950,1961],[1960,1971],[1970,1981]]
אָוטפּוט:
1960
דערקלערונג:
The maximum population is 2, and it had happened in years 1960 and 1970. So the maximum population year is 1960.
קאַנסטריינץ:
1 <= logs.length <= 100
1950 <= birth
i< death
i<= 2050
אַלגערידאַם -
- אין סדר צו געפֿינען די מאַקסימום באַפעלקערונג יאָר. ערשטער, מיר וועלן פאָקוס אויף די גאַנץ נומער פון באַפעלקערונג אין יעדער יאָר דורך טשעק אין יעדער מעהאַלעך פון די געגעבן מאַטריץ און וועט געפֿינען די מאַקסימום ציילן און צוריקקומען די יאָר פון מאַקסימום ווערט. אויב די ציילן איז די זעלבע, מיר פשוט צוריקקומען די פריערדיקע יאָר (ערליאַסט יאָר).
צוגאַנג פֿאַר מאַקסימום באַפעלקערונג יאָר LeetCode לייזונג
- ערשטער, מיר וועלן מאַכן איין מענגע פון גרייס 101 ווייַל די קאַנסטריינץ פון יאָרן ליגן אין די קייט 1950-2050.
- נאָך דעם, מיר וועלן לויפן אַ שלייף פון 0 צו די לענג פון לאָגס און וועט פאַרגרעסערן די ציילן פון די מענגע ביי אינדעקס (לאָגס [i] [אָ]) מיט 1 און פאַרמינערן די ציילן פון די מענגע ביי אינדעקס (לאָגס [איך]) ][1]) דורך 1
- ווידער, מיר וועלן לויפן אַ שלייף פון 0 צו די לענג פון די מענגע און מאַכן איין וועריאַבאַל פּרעוו ציילן און דערהייַנטיקן יעדער עלעמענט פון די מענגע דורך מענגע + פּרעוו און דערהייַנטיקן prev דורך prev = מענגע [איך].
- לעסאָף, מיר וועלן לויפן אַ שלייף און געפֿינען די מאַקסימום ווערט אין די מענגע און צוריקקומען דעם באַזונדער אינדעקס (אינדעקס + 1950). דעריבער געפֿינען די מאַקסימום באַפעלקערונג יאָר.
קאָדעקס:
מאַקסימום באַפעלקערונג יאָר 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
מאַקסימום באַפעלקערונג יאָר 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; } }
קאַמפּלעקסיטי אַנאַליסיס פון מאַקסימום באַפעלקערונג יאָר Leetcode לייזונג:
צייט קאַמפּלעקסיטי
די צייט קאַמפּלעקסיטי פון די אויבן לייזונג איז אָ (ען).
צייט קאַמפּלעקסיטי
די פּלאַץ קאַמפּלעקסיטי פון די אויבן לייזונג איז אָ (1).
ווי מיר האָבן געמאכט אַ מענגע פון לענג = 101. אַזוי מיר קענען באַטראַכטן עס קעסיידערדיק