admin管理员组

文章数量:1615674

前缀和,在一段空array上,遇到start的航班号的index,+相应的reserve的座位数,这个数字在将会在前缀和操作时一直往后面的航班上加,加到end+1处则停止,所以,在end+1的index位置-seats数。随后求array前缀和就可以了。

class Solution:
    def corpFlightBookings(self, bookings: List[List[int]], n: int) -> List[int]:
        res = [0]*100010
        for start, end, seats in bookings:
            res[start] += seats
            res[end+1] -= seats
        res = res[1:]
            
        prefix = [0]
        for i in range(len(res)):
            prefix.append(prefix[-1] + res[i])
        return prefix[1:n+1]

本文标签: CorporateLeetCodePythonBookingsFlight