1109. 航班预订统计
航班预订统计
- 一、题目描述
- 二、示例
- 三、难度
- 四、代码
-
- Java版
一、题目描述
二、示例
三、难度
中等 实际就是个差分数组题与370.区间加法一样,只是要注意下标取值
四、代码
Java版
package per.Kidd.demo;/** * @author Kidd * @create 2022-04-20 13:30 *//* * 1109. 航班预订统计 */public class Solution { private int[] diff; public int[] corpFlightBookings(int[][] bookings, int n) { //构造差分数组 diff = new int[n]; for (int[] arr : bookings) { diff[arr[0]-1] += arr[2]; if (arr[1] < diff.length) { diff[arr[1]] -= arr[2]; } } //还原数组 题目要求返回一个长度为 n 的数组 int[] res = new int[n]; res[0] = diff[0]; for (int i = 1; i < n; ++i) { res[i] = res[i - 1] + diff[i]; } return res; } public static void main(String[] args) { int n = 2; int[][] updates = { {1, 2, 10}, {2, 2, 15} }; Solution s = new Solution(); int[] modifiedArray = s.corpFlightBookings(updates, n); for (int i = 0; i < n; ++i) { System.out.print(modifiedArray[i] + " "); } }}