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

【每日一题】LeetCode 2848.与车相交的点(数组、哈希表、前缀和)

【每日一题】LeetCode 2848.与车相交的点(数组、哈希表、前缀和)

题目描述

给定一个二维整数数组 nums,其中 nums[i] = [starti, endi] 表示第 i 辆车的起点为 starti,终点为 endi。我们需要找出数轴上被车辆覆盖的整数点的总数。

思路分析

这个问题可以通过以下步骤解决:

  1. 初始化集合:创建一个 HashSet 来存储数轴上被覆盖的整数点。
  2. 遍历车辆:对于数组中的每一辆车,遍历其起点到终点的每一个整数点。
  3. 添加点:将遍历到的每一个整数点添加到集合中。
  4. 计算结果:由于集合中的元素是唯一的,集合的大小即为被覆盖的整数点的总数。

输入示例

  • 输入:[[3,6],[1,5],[4,7]]

  • 输出:7

  • 解释:从 1 到 7 的所有点都至少与一辆车相交,因此答案为 7。

  • 输入:[[1,3],[5,8]]

  • 输出:7

  • 解释:1、2、3、5、6、7、8 共计 7 个点满足至少与一辆车相交,因此答案为 7。

代码实现

class Solution {
    public int numberOfPoints(List<List<Integer>> nums) {
        // 初始化一个 HashSet 来存储被覆盖的整数点
        Set<Integer> set = new HashSet<>();
        // 获取车辆的数量
        int n = nums.size();
        // 遍历每一辆车
        for (int i = 0; i < n; i++) {
            // 获取当前车辆的起点和终点
            int start = nums.get(i).get(0);
            int end = nums.get(i).get(1);
            // 遍历当前车辆覆盖的每一个整数点
            for (int j = start; j <= end; j++) {
                // 将整数点添加到集合中
                set.add(j);
            }
        }
        // 返回集合的大小,即被覆盖的整数点的总数
        return set.size();
    }
}

http://www.kler.cn/a/309334.html

相关文章:

  • 万字长文解读深度学习——ViT、ViLT、DiT
  • 深入理解接口测试:实用指南与最佳实践5.0(一)
  • GitLab基于Drone搭建持续集成(CI/CD)
  • scrapy爬取中信证券销售金融产品信息
  • 应对JSON解析键值对乱序问题的实用解决方案
  • 量化交易系统开发-实时行情自动化交易-3.4.2.Okex行情交易数据
  • python知识点100篇系列(18)-解析m3u8文件的下载视频
  • 东土科技加码芯片业务投资,携手神经元共建新型工业生态
  • 【开放词汇检测】基于MMDetection的MM-Grounding-DINO实战
  • 动态ip切换过快,会引起我的账号下次登录异常吗
  • CentOS详细解析及其配置方法
  • golang 字符串浅析
  • 使用Python实现深度学习模型:智能家电控制与优化
  • Nginx搭建直播服务器,并用rtmp,http-flv,hls三种模式拉流观看直播的流程
  • iOS 知识点记录
  • 区块链积分系统:革新支付安全与用户体验的未来
  • 【Petri网导论学习笔记】Petri网导论入门学习(三)
  • 启信产业大脑助力市北高新园区数字化升级,开启智慧园区新篇章
  • 自己建网站怎么建
  • OpenCV结构分析与形状描述符(24)检测两个旋转矩形之间是否相交的一个函数rotatedRectangleIntersection()的使用
  • 网络安全学习(五)Burpsuite实战
  • 解决Matlab报错:MEX 文件 ‘D:\MATLAB\toolbox\maple\maplemex.mexw64‘ 无效: 缺少依赖共享库
  • 2024年某大厂HW蓝队面试题分享
  • Github打不开解决方法
  • 产品经理有必要学习大模型技术吗?
  • 【Elasticsearch系列十一】聚合 DSL API