1854. Maximum Population Year

QUESTION:

You are given a 2D integer array logs where each logs[i] = [birthi, deathi] indicates the birth and death years of the ith person.

The population of some year x is the number of people alive during that year. The ith person is counted in year x’s population if x is in the inclusive range [birthi, deathi - 1]. Note that the person is not counted in the year that they die.

Return the earliest year with the maximum population.

Example 1:

Input: logs = [[1993,1999],[2000,2010]]
Output: 1993
Explanation: The maximum population is 1, and 1993 is the earliest year with this population.

Example 2:

Input: logs = [[1950,1961],[1960,1971],[1970,1981]]
Output: 1960
Explanation: 
The maximum population is 2, and it had happened in years 1960 and 1970.
The earlier year between them is 1960.

Constraints:

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

EXPLANATION:

首先将1950 - 2050排在数组里, 然后循环logs , 将每一年的人数加上, 最后再一个for循环, 来判断第一个出现max的索引.

SOLUTION:

class Solution {
    func maximumPopulation(_ logs: [[Int]]) -> Int {
        var years:[Int] = Array(repeating: 0, count: 100)
        for log in logs {
            var tmp = log[0]
            while tmp < log[1] {
                years[tmp - 1950] += 1
                tmp += 1
            }
        }
        var result: Int = 1950
        for index in 0...years.count - 1 {
            if (years[index] == years.max()) {
                return result + index
            }
        }
        return -1
    }
}