2022-11-15:这里有 n 个航班,它们分别从 1 到 n 进行编号。有一份航班预订表 bookings ,表中第 i 条
进行 2022 11 15 表中 这里 一份 它们
2023-06-13 09:16:48 时间
2022-11-15:这里有 n 个航班,它们分别从 1 到 n 进行编号。
有一份航班预订表 bookings ,
表中第 i 条预订记录 bookings[i] = [firsti, lasti, seatsi]
意味着在从 firsti 到 lasti
(包含 firsti 和 lasti )的 每个航班 上预订了 seatsi 个座位。
请你返回一个长度为 n 的数组 answer,里面的元素是每个航班预定的座位总数。
输入:bookings = [[1,2,10],[2,3,20],[2,5,25]], n = 5。
输出:[10,55,45,25,25]。
答案2022-11-15:
力扣1109。
线段树。
差分+前缀和。
代码用rust编写。代码如下:
use std::iter::repeat;
impl Solution {
pub fn corp_flight_bookings(bookings: Vec<Vec<i32>>, n: i32) -> Vec<i32> {
// 1 2 3 4 n
// 0 1 2 3 .. n n+1
let mut cnt: Vec<i32> = repeat(0).take((n + 2) as usize).collect();
for book in bookings.iter() {
// start book[0]
// end book[1]
// 票 book[2]
cnt[book[0] as usize] += book[2];
cnt[(book[1] + 1) as usize] -= book[2];
}
for i in 1..cnt.len() {
cnt[i] += cnt[i - 1];
}
let mut ans: Vec<i32> = repeat(0).take(n as usize).collect();
for i in 0..n {
ans[i as usize] = cnt[(i + 1) as usize];
}
return ans;
}
}
fn main() {
let b = vec![vec![1, 2, 10], vec![2, 3, 20], vec![2, 5, 25]];
let n = 5;
let ans = Solution::corp_flight_bookings(b, n);
println!("ans = {:?}", ans);
}
struct Solution {}
执行结果如下:
***
[左神java代码](https://github.com/algorithmzuo/weekly-problems/blob/main/src/class_2022_08_3_week/Code05_SmallestRotationWithHighestScore.java)
相关文章
- EMQX Newsletter 2022-08|企业版 5.0 开发进行中、EMQX Kubernetes Operator 2.0 即将发布
- ECCV 2022 | 清华&Meta提出HorNet,用递归门控卷积进行高阶空间相互作用
- spss中进行单因素方差分析的操作步骤是_双因素方差分析交互作用判断
- moya + RxSwift 进行网络请求
- 2022注册谷歌账户时最后一步验证账号输入手机号说此电话号码无法用于进行验证(成功注册)
- 2022-09-11:arr是一个可能包含重复元素的整数数组,我们将这个数组分割成几个“块”,并将这些块分别进行排序。之后再连接
- Web前端如何进行SEO结构优化
- 2022-12-12:有n个城市,城市从0到n-1进行编号。小美最初住在k号城市中 在接下来的m天里,小美每天会收到一个任务 她可以选择完成当天的任务或者放弃该
- 单细胞数据分析中scran包进行细胞周期分析时细胞周期marker基因的转换
- [IJCAI 2022 | 论文简读] CARD:通过基于类不可知关系的去噪进行半监督语义分割
- 2022-11-16:给你一个数组 nums,我们可以将它按一个非负整数 k 进行轮调,例如,数组为 nums = [2,4,1
- 2022-12-12:有n个城市,城市从0到n-1进行编号。小美最初住在k号城市中在接下来的m天里,小美每天会收到一个任务她可以
- 使用CNN进行2D路径规划
- 【Kotlin】类的继承 ② ( 使用 is 运算符进行类型检测 | 使用 as 运算符进行类型转换 | 智能类型转换 | Any 超类 )
- Linux中利用循环进行处理:for、while、until三种循环语句(linux中循环语句)
- Linux下如何进行端口转发?(端口转发linux)
- 使用日期函数在 Oracle 中进行时间格式化和计算(日期函数oracle)
- 从头到尾:使用PHP进行MSSQL手工注入(php手工注入mssql)
- MySQL中使用Year类型进行日期处理(mysql中year类型)
- 优雅地使用ADODC和Oracle进行数据开发(adodc oracle)
- MySQL分组用于将数据按照指定的字段分组,以进行统计和聚合操作(mysql中分组意思)
- 利用Oracle进行数据库优化的技巧(oracle 不换行)
- 2021年8月18日,“AI这时代 星辰大海——百度世界2021”大会将在线上召开。将全面展示百度人工智能在出行、生活、产业、自主创新科技等领域的最新成果和应用,对人工智能技术进行一次创新式全民科普,并与各界共同探讨人工智能商业价值和社会价值等热点话题。 [14-15] 直播渠道包括央视新闻客户端、百度APP、央视新闻视频号以及央视新闻在微博、抖音、快手、B站的官方账号等。 百度世界2021 百度世界2021
- php数组函数序列之krsort()-对数组的元素键名进行降序排序,保持索引关系
- 如何利用phparray_multisort函数对数据库结果进行复杂排序
- php中通过数组进行高效随机抽取指定条记录的算法