1109. 航班预订统计

【差分+前缀和】

class Solution {// 差分+前缀和 3:47. 4public int[] corpFlightBookings(int[][] bookings, int n) {int[] pre = new int[n + 1];for(var k: bookings){pre[k[0] - 1] += k[2];pre[k[1]] -= k[2];}int[] ans = new int[n];for(var i = 0; i < n; i++){if(i == 0) ans[i] = pre[i];else ans[i] = pre[i] + ans[i - 1];}return ans;}
}

【差分+树状数组】

这里简单分析一下,树状数组是用来求前缀和的,如果把差分(新增变化量,末尾减少量)存在树状数组中,就可以直接查询前缀和了。

class Solution {// 差分+树状数组 3:53 6int[] tree;int n;int lowbit(int x){return x & -x;}void add(int x, int val){while(x <= n){tree[x] += val;x += lowbit(x);}}int ask(int x){int ret = 0;while(x > 0){ret += tree[x];x -= lowbit(x);}return ret;}public int[] corpFlightBookings(int[][] bookings, int n) {this.n = n;tree = new int[n + 2];for(var b: bookings){add(b[0], b[2]);add(b[1] + 1, -b[2]);}int[] ans = new int[n];for(var i = 0; i < n; i++){ans[i] = ask(i + 1);}return ans;}
}

【差分+线段树】

class Solution {// 差分+线段树 4:02 42int[] f, a;int n;void build(int k, int l, int r){if(l == r) f[k] = a[l - 1];else{int mid = (l + r) >>> 1;k <<= 1;build(k, l, mid);build(k, mid + 1, r);f[k >>> 1] = f[k] + f[k + 1];}}void add(int k, int l, int r, int x, int y){f[k] += y;if(l == r) return ;int mid = (l + r) >>> 1;k <<= 1;if(x > mid) add(k + 1, mid + 1, r, x, y);else add(k, l, mid, x, y);}int ask(int k, int l, int r, int x, int y){if(l == r) return f[k];else if(l == x && r == y) return f[k];int mid = (l + r) >>> 1;k <<= 1;if(x > mid) return ask(k + 1, mid + 1, r, x, y);if(y <= mid) return ask(k, l, mid, x, y);return ask(k, l, mid, x, mid) + ask(k + 1, mid + 1, r, mid + 1, y);}public int[] corpFlightBookings(int[][] bookings, int n) {int m = n + 1;f = new int[m * 4 + 1];for(var b: bookings){add(1, 1, m, b[0], b[2]);add(1, 1, m, b[1] + 1, -b[2]);}int[] ans = new int[n];for(var i = 0; i < n; i++){ans[i] = ask(1, 1, m, 1, i + 1);}return ans;}
}

LeetCode 1109. 航班预订统计相关推荐

  1. C++Python描述 LeetCode 1109. 航班预订统计

    C++&Python描述 LeetCode 1109. 航班预订统计   大家好,我是亓官劼(qí guān jié ),在公众号.CSDN.GitHub.B站.华为开发者论坛等平台分享一些技 ...

  2. LeetCode.1109. 航班预订统计

    LeetCode.1109. 航班预订统计 难度:medium  思路: 差分数组,注意细节 diff[0] = nums[0]; 代码: class Solution {public int[] c ...

  3. LeetCode 1109. 航班预订统计(差分思想)

    1. 题目 这里有 n 个航班,它们分别从 1 到 n 进行编号. 我们这儿有一份航班预订表,表中第 i 条预订记录 bookings[i] = [i, j, k] 意味着我们在从 i 到 j 的每个 ...

  4. leetcode 1109. 航班预订统计(C++、python)

    这里有 n 个航班,它们分别从 1 到 n 进行编号. 我们这儿有一份航班预订表,表中第 i 条预订记录 bookings[i] = [i, j, k] 意味着我们在从 i 到 j 的每个航班上预订了 ...

  5. 模拟卷Leetcode【普通】1109. 航班预订统计

    1109. 航班预订统计 这里有 n 个航班,它们分别从 1 到 n 进行编号. 有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti ...

  6. 【1109. 航班预订统计】

    leetcode力扣刷题打卡 题目:1109. 航班预订统计 描述:这里有 n 个航班,它们分别从 1 到 n 进行编号. 有一份航班预订表 bookings ,表中第 i 条预订记录 booking ...

  7. LeetCode - 1109 - 航班预定统计

    目录 题目来源 题目描述 示例 提示 题目解析 算法源码 题目来源 1109. 航班预订统计 - 力扣(LeetCode) 题目描述 这里有 n 个航班,它们分别从 1 到 n 进行编号. 有一份航班 ...

  8. 1109. 航班预订统计

    1109. 航班预订统计 这里有 n 个航班,它们分别从 1 到 n 进行编号. 有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti ...

  9. LeetCode 力扣 算法题解 1109. 航班预订统计(Corporate Flight Bookings) n 个航班,它们分别从 1 到 n 进行编号,请返回每个航班预定的座位总数。

    文章目录 一.题目描述 示例 1: 示例 2: 提示: 二.Python解题 1.Python代码展示 2.程序逻辑解释 3.复杂度分析 官方解释 三.测试反思 1.历史提交记录 2.提交失败记录 3 ...

最新文章

  1. 使用span标签为文字设置单独样式
  2. 第一讲 无穷级数的概念
  3. 分享一次 Java 内存泄漏的排查
  4. easyui datagrid不是相邻的能合并单元格吗_介绍一种划分账龄的方法,要不了半个小时就能完成...
  5. 44 | 套路篇:网络性能优化的几个思路(下)
  6. SAP WebIDE:how to enable context API reference
  7. 计算机社团竞选优势6,社团社长竞选稿六篇
  8. frame框架 超链接
  9. 使用 Spring Validation 优雅地进行参数校验
  10. 洛谷——P1876 开灯
  11. python初学者怎么入门-python初学者怎么入门
  12. Java中的关键字--volatile
  13. Python在指定文件夹生成随机文件
  14. acunetix导出html,关于Acunetix v11 WebUI下不得不说的事情!
  15. c语言旋转led时钟设计报告,《基于单片机的LED旋转时钟设计报告》.doc
  16. 如何提高测试用例评审效率?
  17. 云端是一个软件平台,拥有丰富的资源。在云端使用软件,无需安装,一点,下载,直接使用。
  18. 【无法关闭的网页】HTML网页源码分享#无法拒绝的表白源码
  19. Lumen企业站内容管理实战 - 欢迎页面
  20. 辩证法中包括一个关系、两大特征、三大规律、四种方法、五对范畴

热门文章

  1. 面向服务的体系架构(SOA)—入门篇
  2. 知识产权及保护措施是受到法律保护的吗
  3. IOS真机调试包 iOS15.0
  4. springboot cas配置鉴过滤url
  5. android旋转木马轮播图,vue实现旋转木马轮播
  6. Office word文档中的乱码解决办法
  7. 写作如何挣钱?【转】
  8. mysql 查询前面显示序号1 2 3 4 5 ......等
  9. 天津市公安局云平台8080万大单,花落谁家?
  10. 电脑突然没声音了怎么办?