LeetCode【2251. 花期内花的数目】

news2024/11/26 11:35:42

给你一个下标从 0 开始的二维整数数组 flowers ,其中 flowers[i] = [starti, endi] 表示第 i 朵花的 花期 从 starti 到 endi (都 包含)。同时给你一个下标从 0 开始大小为 n 的整数数组 people ,people[i] 是第 i 个人来看花的时间。

请你返回一个大小为 n 的整数数组 answer ,其中 answer[i]是第 i 个人到达时在花期内花的 数目 。

示例 1:

输入:flowers = [[1,6],[3,7],[9,12],[4,13]], people = [2,3,7,11]
输出:[1,2,2,2]
解释:上图展示了每朵花的花期时间,和每个人的到达时间。
对每个人,我们返回他们到达时在花期内花的数目。

示例 2:

输入:flowers = [[1,10],[3,3]], people = [3,3,2]
输出:[2,2,1]
解释:上图展示了每朵花的花期时间,和每个人的到达时间。
对每个人,我们返回他们到达时在花期内花的数目。

提示:

  • 1 <= flowers.length <= 5 * 104
  • flowers[i].length == 2
  • 1 <= starti <= endi <= 109
  • 1 <= people.length <= 5 * 104
  • 1 <= people[i] <= 109

答:

import java.util.Arrays;

public class Solution {
    public int[] numFlowersInBloom(int[][] flowers, int[] people) {
        Arrays.sort(flowers, (a, b) -> Integer.compare(a[1], b[1])); // 按结束时间排序
        int n = people.length;
        int[] answer = new int[n];
        int ptr = 0; // 指向当前未被看的花期

        for (int i = 0; i < n; i++) {
            int arriveTime = people[i];

            // 找到所有结束时间小于等于arriveTime的花期,并统计花的数量
            while (ptr < flowers.length && flowers[ptr][1] <= arriveTime) {
                if (flowers[ptr][0] <= arriveTime) { // 花期的开始时间小于等于arriveTime
                    answer[i]++;
                }
                ptr++;
            }
        }

        return answer;
    }

    public static void main(String[] args) {
        Solution solution = new Solution();
        int[][] flowers = {{1,6},{3,7},{9,12},{4,13}};
        int[] people = {2,3,7,11};
        int[] result = solution.numFlowersInBloom(flowers, people);
        System.out.println(Arrays.toString(result)); // 输出:[1, 2, 2, 2]
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1049304.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

笔记本摄像头怎么打开?记牢这5个简单方法!

“我有一个紧急视频会议&#xff0c;但是关键时刻我的笔记本电脑摄像头居然打不开了&#xff0c;真的让我很崩溃。有什么方法可以快速解决这个问题吗&#xff1f;非常感谢&#xff01;” 在互联网时代&#xff0c;电脑对我们来说非常重要。而借助电脑摄像头与朋友交流或者与同事…

全网最细,Python接口自动化测试参数关联(应用场景实例)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 什么是参数关联&a…

lift-splat-shoot(LSS)代码详解

原版lift-splat-shoot&#xff08;LSS&#xff09;代码详解 自己想搞一些事情&#xff0c;搞什么呢&#xff1f;和自动驾驶相关的&#xff0c;先走视觉路线的又比较多&#xff0c;bev的话就搞开山之作lss&#xff0c;看有什么可以优化的东西&#xff0c;于是就开始做一做试试看…

编译原理简介

编译原理简介 编译原理的研究对于理解和设计编程语言、编译器和解释器都非常重要。它不仅可以提高程序的执行效率&#xff0c;还可以帮助开发人员更好地理解程序的运行机制。编译原理是计算机科学中的一个重要分支&#xff0c;研究的是编译器的设计和实现。对于从事编译器开发…

人员重识别:Person Re-Identification without Identification via Event Anonymization

论文作者&#xff1a;Shafiq Ahmad,Pietro Morerio,Alessio Del Bue 作者单位&#xff1a;Istituto Italino di Tecnologia;Universita degli Studi di Genova 论文链接&#xff1a;http://arxiv.org/abs/2308.04402v1 内容简介&#xff1a; 1&#xff09;方向&#xff1a;…

欧拉公式推导网格中点线面估计数量关系

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 背景 之前面试网格算法工程师时被问到三角网格中点和面的数量关系。delaunay 三角剖分要估计边的数量来事先申请内存。 通过查找资料了解原理和推导过程。 欧拉公式…

重生奇迹海魔是亚特兰蒂斯的最后一站

当重生奇迹MU玩家开始打算挑战海魔希特拉时&#xff0c;通常就意味着这一次亚特兰蒂斯的旅程已经走到了尾声&#xff0c;因为这个海魔便是海洋的最后一站&#xff0c;成功抵达后就能顺利地通关这片海域。同时&#xff0c;如果此刻玩家等级已经到达130级&#xff0c;那么沙漠地图…

方法:Ubuntu配置网络源-apt源、pip源、conda源

apt源 方法1 编辑/etc/apt/sources.list: sudo gedit /etc/apt/sources.list 写入&#xff0c;如阿里源 deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe mu…

最简单的RNN预测股票收盘价

1.首先&#xff0c;导入必要的库&#xff1a; import torch import torch.nn as nn import numpy as np2.准备数据。需要准备好包含历史股票收盘价的一维时间序列数据。在这个例子中&#xff0c;我们将使用NumPy模拟一些示例数据 # 示例的股票收盘价时间序列数据 # 假设数据点…

Linux面试题汇总1

MySQL数据库 1、MySQL和Oracle的区别 1.Oracle是大型数据库&#xff0c;而MySQL是中小型数据库。但是MySQL是开源的&#xff0c;但是Oracle是收费的&#xff0c;而且比较贵。 2. Oracle的内存占有量非常大&#xff0c;而mysql非常小 3. MySQL支持主键自增长&#xff0c;指定主…

MySQL explain SQL分析工具详解与最佳实践

目录 一、explain工具介绍二、添加示例表和数据用于后续演示三、explain中的列3.1、id列3.2、select_type列3.3、table列3.4、partitions列3.5、type列NULLsystemconsteq_refrefrangeindexALL 3.6、possible_keys列3.7、key列3.8、key_len列3.9、ref列3.10、rows列3.11、filter…

《视觉 SLAM 十四讲》V2 第 11 讲 回环检测【消除累积误差】

待做: 习题整理 相关文献【新的综述】等 P283 文章目录 11.2 词袋 模型11.3.2 Code&#xff1a; 创建字典11.4.2 Code&#xff1a; 相似度 计算训练 自己的字典 报错 习题√ 题1√ 题2题3 DBoW3库题4题5 基于 词袋 的外观式 回环检测 SLAM主体(前端后端)&#xff1a; 估计相机…

图片处理后再保存为图片到文件夹中,文件夹下文件名不变改格式保存

首先读取图片&#xff1b; 然后处理&#xff0c;得到cv:Mat类型&#xff1b; 对cv:Mat类型图片写入文件夹&#xff0c;保存到指定路径。 像raw图等不能直接读取显示&#xff0c;需要先进行解码&#xff0c;转换为可以显示的图片。 下面举例读入本来可以显示的图。以下代码加…

哈弗猛龙实力登场,「方盒子猛改派对」掀起越野改装新热潮

9月22日-24日&#xff0c;哈弗猛龙“方盒子猛改派对”在北京751 D-PARK 火车头广场成功举办。活动现场盛况空前&#xff0c;不仅有官方展出的11台不同风格的猛改车型&#xff0c;更吸引了不同领域的博主大咖及越野达人前来参与活动。 与此同时&#xff0c;哈弗猛龙用户大定权益…

【EI会议征稿】第三届信号处理与通信技术国际学术会议(SPCT 2023)

第三届信号处理与通信技术国际学术会议&#xff08;SPCT 2023&#xff09; 2023 3rd International Conference on Signal Processing and Communication Technology 第三届信号处理与通信技术国际学术会议&#xff08;SPCT 2023&#xff09;将于2023年12月1-3日在长春召开。S…

【AIPOD案例操作教程】斜流风扇轮毂优化

AIPOD是由天洑软件自主研发的一款通用的智能优化设计软件&#xff0c;致力于解决能耗更少、成本更低、重量更轻、散热更好、速度更快等目标的工程设计寻优问题。针对工业设计领域的自动化程度低、数值模拟计算成本高等痛点&#xff0c;基于人工智能技术、自研先进的智能代理学习…

MySQL存储引擎以及InnoDB、MyISAM、Memory特点介绍

存储引擎介绍和基本使用 基本介绍&#xff1a; 存储引擎是数据库的核心&#xff0c;存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式 。存储引擎是基于表的&#xff0c;而不是基于库的&#xff0c;所以存储引擎也可被称为表类型。我们可以在创建表的时候&…

U盘植马之基于arduino的badusb实现及思考

引言 曾经有这么一段传说&#xff0c;在某次攻防演练时&#xff0c;某攻击队准备了一口袋U盘前往了目标单位的工作园区&#xff0c;在园区围墙外停下了脚步&#xff0c;然后开始不停扔U盘进去&#xff0c;最后发现有大量的“猎奇者”上线。 U盘植马是常见的近源渗透方式之一&am…

若依不分离+Thymeleaf select选中多个回显

项目中遇到的场景&#xff0c;亲测实用 表单添加时&#xff0c;select选中多个&#xff0c;编辑表单时&#xff0c;select多选回显&#xff0c;如图 代码&#xff1a; // 新增代码 <label class"col-sm-3 control-label">通道&#xff1a;</label><…

再学C++ | std::set 的原理

std::set 是C标准库中的容器之一&#xff0c;它基于红黑树实现。std::set 利用红黑树的特性来实现有序的插入、查找和删除操作&#xff0c;并且具有较好的平均和最坏情况下的时间复杂度。 当向 std::set 插入元素时&#xff0c;它会按照特定的比较函数&#xff08;bool less<…