【210831】1109. 航班预订统计
题目:https://leetcode-cn.com/problems/corporate-flight-bookings/
暴力
- 枚举每条预定记录
- 统计每个航班的预定数
差分
分析
每次预定的时候只有两个地方会导致预定位置数发生变化,即
「预定开始的航班」 和 「预定结束的航班号+1的航班」
开始的地方会导致这个地方增加m个航班,结束的地方不再需要这些位置,所以会减去m个航班。
我们并不需要真的记录每个位置的状态,只需要记录有变化的位置即可,他们所持有的信息其实是一样的。
在「有变化的位置」添加变化的状态,之后以【叠加前面状态】的方式,来持续这个变化的状态
在「变化结束的位置」减去这个变化的状态,还原原来的状态
//官方题解 python 篇
class Solution:def corpFlightBookings(self, bookings: List[List[int]], n: int) -> List[int]:nums = [0] * nfor left, right, inc in bookings:nums[left - 1] += incif right < n:nums[right] -= incfor i in range(1, n):nums[i] += nums[i - 1]return nums
//官方题解 Java 篇
class Solution {public int[] corpFlightBookings(int[][] bookings, int n) {int[] nums = new int[n];for (int[] booking : bookings) {nums[booking[0] - 1] += booking[2];if (booking[1] < n) {nums[booking[1]] -= booking[2];}}for (int i = 1; i < n; i++) {nums[i] += nums[i - 1];}return nums;}
}
//官方题解 JavaScript 篇
var corpFlightBookings = function(bookings, n) {const nums = new Array(n).fill(0);for (const booking of bookings) {nums[booking[0] - 1] += booking[2];if (booking[1] < n) {nums[booking[1]] -= booking[2];}}for (let i = 1; i < n; i++) {nums[i] += nums[i - 1];}return nums;
};
【210831】1109. 航班预订统计相关推荐
- 1109. 航班预订统计
1109. 航班预订统计 这里有 n 个航班,它们分别从 1 到 n 进行编号. 有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti ...
- 模拟卷Leetcode【普通】1109. 航班预订统计
1109. 航班预订统计 这里有 n 个航班,它们分别从 1 到 n 进行编号. 有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti ...
- C++Python描述 LeetCode 1109. 航班预订统计
C++&Python描述 LeetCode 1109. 航班预订统计 大家好,我是亓官劼(qí guān jié ),在公众号.CSDN.GitHub.B站.华为开发者论坛等平台分享一些技 ...
- 【1109. 航班预订统计】
leetcode力扣刷题打卡 题目:1109. 航班预订统计 描述:这里有 n 个航班,它们分别从 1 到 n 进行编号. 有一份航班预订表 bookings ,表中第 i 条预订记录 booking ...
- LeetCode 1109. 航班预订统计
1109. 航班预订统计 [差分+前缀和] class Solution {// 差分+前缀和 3:47. 4public int[] corpFlightBookings(int[][] booki ...
- LeetCode.1109. 航班预订统计
LeetCode.1109. 航班预订统计 难度:medium 思路: 差分数组,注意细节 diff[0] = nums[0]; 代码: class Solution {public int[] c ...
- LeetCode 1109. 航班预订统计(差分思想)
1. 题目 这里有 n 个航班,它们分别从 1 到 n 进行编号. 我们这儿有一份航班预订表,表中第 i 条预订记录 bookings[i] = [i, j, k] 意味着我们在从 i 到 j 的每个 ...
- LeetCode 力扣 算法题解 1109. 航班预订统计(Corporate Flight Bookings) n 个航班,它们分别从 1 到 n 进行编号,请返回每个航班预定的座位总数。
文章目录 一.题目描述 示例 1: 示例 2: 提示: 二.Python解题 1.Python代码展示 2.程序逻辑解释 3.复杂度分析 官方解释 三.测试反思 1.历史提交记录 2.提交失败记录 3 ...
- leetcode 1109. 航班预订统计(C++、python)
这里有 n 个航班,它们分别从 1 到 n 进行编号. 我们这儿有一份航班预订表,表中第 i 条预订记录 bookings[i] = [i, j, k] 意味着我们在从 i 到 j 的每个航班上预订了 ...
最新文章
- 在Asp.Net MVC中设定site路径所对应的默认action
- win怎么打开微软更新服务器,怎样打开win10的更新服务器地址
- python基础===PEP网站,代码规范指南
- 0宽字符加密_一文看懂异或加密,有动画演示呦
- 674. zui长连续递增序列(JavaScript)
- C# 获得当前运行程序所在的目录的代码
- java 四则混合运算_Java实现四则混合运算 - Sabrina amp; Joshua Java Ivory Tower - ITeye博客...
- c语言程序设计一至六章测验,c语言程序设计1-6章.ppt
- 获取Android APP的包名
- 网络性能分析仪-RFC2544测试
- 惠普m128fn中文说明书_惠普M128fw使用说明书
- Python数据分析第四课:数据的处理(数据合并、数据筛选、数据排序)
- mysql 视图创建与查询数据库作业(10)
- go revel框架搭建
- 安卓第三方ROM----AOKP和CM
- 《计算机网络》笔记摘抄汇总
- 数据库中minus的用法
- 用c#语言做课程表系统代码,winform用datagridview制作课程表实例
- 滴滴快车VS易到“易来”到底谁便宜?结果惊呆了
- labview 和lin 通讯_LABVIEW几种通讯应用1