当前位置: 首页 > news >正文

每日一题:leetcode 1109 航班预订统计

这里有 n 个航班,它们分别从 1 到 n 进行编号。

有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti, seatsi] 意味着在从 firsti 到 lasti (包含 firsti 和 lasti )的 每个航班 上预订了 seatsi 个座位。

请你返回一个长度为 n 的数组 answer,里面的元素是每个航班预定的座位总数。

示例 1:

输入:bookings = [[1,2,10],[2,3,20],[2,5,25]], n = 5
输出:[10,55,45,25,25]
解释:
航班编号        1   2   3   4   5
预订记录 1 :   10  10
预订记录 2 :       20  20
预订记录 3 :       25  25  25  25
总座位数:      10  55  45  25  25
因此,answer = [10,55,45,25,25]

示例 2:

输入:bookings = [[1,2,10],[2,2,15]], n = 2
输出:[10,25]
解释:
航班编号        1   2
预订记录 1 :   10  10
预订记录 2 :       15
总座位数:      10  25
因此,answer = [10,25]

提示:

  • 1 <= n <= 2 * 104
  • 1 <= bookings.length <= 2 * 104
  • bookings[i].length == 3
  • 1 <= firsti <= lasti <= n
  • 1 <= seatsi <= 104

思路:

差分数组经典题目。

这里就不介绍差分数组了,简单理解就有点类似多米诺骨牌,只需要在开始的位置改变数据(减加),在结束+1的位置改变数据(加减)。

class Solution {public int[] corpFlightBookings(int[][] bookings, int n) {int[] cha = new int[n+1];for (int i=0;i<bookings.length;i++) {cha[bookings[i][0]-1] += bookings[i][2];cha[bookings[i][1]] -= bookings[i][2];}int[] ans = new int[n];for (int i=0;i<n;i++) {if (i==0) ans[i] = cha[i];else {ans[i] = cha[i] + ans[i-1];}}return ans;}
}

http://www.lryc.cn/news/138817.html

相关文章:

  • C#__自定义类传输数据和前台线程和后台线程
  • 司徒理财:8.21黄金空头呈阶梯下移!今日操作策略
  • Java8 实现批量插入和更新,SpringBoot实现批量插入和更新,Mybatis实现批量插入和更新
  • vue登录验证码组件,前端验证
  • SLS日志解析配置
  • CRM系统有哪些功能可以管理客户?
  • 15.树与二叉树基础
  • neo4j 图数据库 springboot
  • Linux下的系统编程——makefile入门(四)
  • Mybatis的综合案例-学生信息查询系统 用于校验是否真正学习掌握了动态SQL
  • 力扣:70. 爬楼梯(Python3)
  • 陕西广电 HG6341C FiberHome烽火 光猫获取超级密码 改桥接模式 提升网速
  • 无涯教程-PHP - 移除的扩展
  • 笔记:transformer系列
  • Mysql socket连接测试
  • 探究分布式操作系统的本质
  • opencv-dnn
  • 如何选择合适的开源许可证?
  • 【前端】深入解析CSS:选择器、显示模式、背景属性和特征剖析
  • 算法训练营第三十四天(8.23)| 动态规划Part04:01背包
  • 【python】tkinter使用多进程打包成exe后multiprocessing无法关闭对应进程
  • Redis工具类(缓存操作,Object转换成JSON数据)
  • Linux 下 Java Socket 编程报 java.net.Exception:Permission denied (权限不足)
  • IDEA项目实践——VUE介绍与案例分析
  • vue-canvas基本使用和注意事项-动画闪烁效果-自适应适配不同分辨率问题
  • Jmeter 如何才能做好接口测试?
  • 电商平台京东平台获得京东商品描述API接口演示案例
  • 《算法竞赛·快冲300题》每日一题:“单位转换”
  • R语言13-R语言中的数据导入导出和批量导入
  • 【Java】对象与类