File tree 1 file changed +16
-18
lines changed
src/main/java/g1801_1900/s1854_maximum_population_year 1 file changed +16
-18
lines changed Original file line number Diff line number Diff line change 1
1
package g1801_1900 .s1854_maximum_population_year ;
2
2
3
- // #Easy #Array #Counting #2022_05_08_Time_10_ms_(9.66%)_Space_43.8_MB_(6.38%)
4
-
5
- import java .util .HashMap ;
6
- import java .util .Map ;
3
+ // #Easy #Array #Counting #2022_05_10_Time_0_ms_(100.00%)_Space_42.7_MB_(24.42%)
7
4
8
5
public class Solution {
9
6
public int maximumPopulation (int [][] logs ) {
10
- int maxCnt = 0 ;
11
- int earliest = logs [0 ][0 ];
12
- Map <Integer , Integer > map = new HashMap <>();
13
- for (int [] people : logs ) {
14
- for (int i = people [0 ]; i < people [1 ]; i ++) {
15
- int val = map .getOrDefault (i , 0 ) + 1 ;
16
- map .put (i , val );
17
- if (maxCnt < val ) {
18
- maxCnt = val ;
19
- earliest = i ;
20
- } else if (maxCnt == val ) {
21
- earliest = Math .min (earliest , i );
22
- }
7
+ int [] arr = new int [101 ];
8
+ for (int i = 0 ; i < logs .length ; i ++) {
9
+ arr [logs [i ][0 ] - 1950 ]++;
10
+ arr [logs [i ][1 ] - 1950 ]--;
11
+ }
12
+ for (int i = 1 ; i < 101 ; i ++) {
13
+ arr [i ] += arr [i - 1 ];
14
+ }
15
+ int maxyear = 1950 ;
16
+ int max = 0 ;
17
+ for (int i = 0 ; i < 101 ; i ++) {
18
+ if (arr [i ] > max ) {
19
+ max = arr [i ];
20
+ maxyear = i + 1950 ;
23
21
}
24
22
}
25
- return earliest ;
23
+ return maxyear ;
26
24
}
27
25
}
You can’t perform that action at this time.
0 commit comments