首页 > 其他分享 >【LeeCode】1109. 航班预订统计

【LeeCode】1109. 航班预订统计

时间:2023-04-23 21:01:07浏览次数:48  
标签:firsti int lasti 预订 bookings 航班 LeeCode 1109

【题目描述】

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

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

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

https://leetcode.cn/problems/corporate-flight-bookings/


【示例】

【LeeCode】1109. 航班预订统计_System


【代码】admin

40 / 63 个通过的测试用例

最搓的思路, 这里有个问题就是如果数组是{[2,2,45], [2, 2, 30]} 此时输出[75, 0];但正确应该是[0, 75]

package com.company;
import java.util.*;

// 2023-04-23
class Solution {
    public int[] corpFlightBookings(int[][] bookings, int n) {
        Map<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < bookings.length; i++){
            int start = bookings[i][0];
            int end = bookings[i][1];
            int seats = bookings[i][2];
            for (int j = start; j <= end; j++){
                if (map.containsKey(j)){
                    map.put(j, map.get(j) + seats);
                }else {
                    map.put(j, seats);
                }
            }
        }
        System.out.println(map);
        int[] res = new int[n];
        int idx = 0;
        for (Integer value : map.values()) {
            res[idx++] = value;
        }
        System.out.println(Arrays.toString(res));
        return res;
    }
}
public class Test {
    public static void main(String[] args) {
        new Solution().corpFlightBookings(new int[][]{{1,2,10},{2,3,20},{2,5,25}}, 5); // 输出:[10,55,45,25,25]
        new Solution().corpFlightBookings(new int[][] {{1,2,10},{2,2,15}}, 2); // 输出:[10,25]
    }
}


标签:firsti,int,lasti,预订,bookings,航班,LeeCode,1109
From: https://blog.51cto.com/u_13682316/6218587

相关文章

  • 《rv1109 部署yolov5训练模型汇总》
    环境以及相关软件版本:yolov5(v5.0)、Ubuntu18.04、rknn-toolkit1.7.3、rv1109  一.yolov5环境安装1conda安装1.1Anaconda安装包:在浏览器中打开 https://www.anaconda.com/products/individual 下载适合你的操作系统的Anaconda安装包(Python版本根据需要选择......
  • PAT Basic 1109. 擅长C
    PATBasic1109.擅长C1.题目描述:当你被面试官要求用C写一个“HelloWorld”时,有本事像下图显示的那样写一个出来吗?2.输入格式:输入首先给出26个英文大写字母A-Z,每个字母用一个\(7×5\)的、由C和.组成的矩阵构成。最后在一行中给出一个句子,以回车结束。句子是由......
  • C/C++运动场馆预订管理系统[2023-04-15]
    C/C++运动场馆预订管理系统[2023-04-15]题目14:运动场馆预订管理系统对旅游管理进行简单模拟。运动场地管理:包括场地名称(如羽毛球场A、乒乓球场B等)、开放时间、计费时长、价格。注意:场地可能增减、同一场地的租金在不同时间段可能不同。用户信息管理:包括用户姓名、联系方式等信......
  • 【LeeCode】213. 打家劫舍 II
    【题目描述】你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房......
  • 【LeeCode】1035. 不相交的线
    【题目描述】在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。现在,可以绘制一些连接两个数字 nums1[i] 和 nums2[j] 的直线,这些直线需要同时满足满足: nums1[i]==nums2[j]且绘制的直线不与任何其他连线(非水平线)相交。请注意,连线即使在端点也不能相交:每个......
  • leecode-day6
    1.152乘积最大连续子数组题目描述:给你一个整数数组nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的答案是一个 32-位整数。子数组是数组的连续子序列。152乘积最大连续子数组思路:这道题跟day5的连续......
  • 【LeeCode】523.连续的子数组和
    【题目描述】给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为2 ,且子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存在一个整数 n ,令整数 x 符合 x=n*k ,则称 x......
  • 【LeeCode】2399. 检查相同字母间的距离
    【题目描述】给你一个下标从 0 开始的字符串 s ,该字符串仅由小写英文字母组成,s 中的每个字母都 恰好 出现 两次 。另给你一个下标从 0 开始、长度为 26 的的整数数组 distance 。字母表中的每个字母按从 0 到 25 依次编号(即,'a'->0, 'b'->1, 'c'->2,.........
  • leetcode-1109-差分
    classSolution{publicint[]corpFlightBookings(int[][]bookings,intn){int[]diff=newint[n];for(int[]booking:bookings){intfirst=booking[0],last=booking[1],seats=booking[2];diff[first-1]......
  • 【LeeCode】162. 寻找峰值
    【题目描述】峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1]=nums[n]=-∞ 。你必须实现时间复杂度为 O(logn) 的算法来解决此问题......