首页 > 其他分享 >LeetCode 2848. 与车相交的点(差分法、前缀和)

LeetCode 2848. 与车相交的点(差分法、前缀和)

时间:2024-09-15 13:53:26浏览次数:3  
标签:sta 2848 nums int 差分法 数组 ans LeetCode 前缀

题目:2848. 与车相交的点

在这里插入图片描述

思路:差分+前缀和。先找到数组中的最大值N,然后构建一个长度为N+2的数组sta。接着遍历数组,进行差分。最后求前缀和得到每个点的值,然后判断是否大于0即可。时间复杂度0(n)。

class Solution {
public:
    int numberOfPoints(vector<vector<int>>& nums) {
        int N=0;
        //找到数组中的最大值N
        for(auto x:nums){
            N=max(x[1],N);
        }
        //构建一个长度为N+2的数组sta,进行差分
        vector<int> sta(N+2,0);
        for(auto x:nums){
            sta[x[0]]++;
            sta[x[1]+1]--;
        }
        //求前缀和得到每个点的值s,然后判断是否大于0
        int ans=0,s=0;
        for(int i=0;i<=N+1;i++){
            s+=sta[i];
            if(s>0) ans++; 
        }
        return ans;
    }
};

标签:sta,2848,nums,int,差分法,数组,ans,LeetCode,前缀
From: https://blog.csdn.net/weixin_46028214/article/details/142283450

相关文章

  • 【数据结构和算法实践-树-LeetCode113-路径总和Ⅱ】
    数据结构和算法实践-树-LeetCode113-路径总和Ⅱ题目MyThought代码示例JAVA-8题目给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。叶子节点是指没有子节点的节点输入:root=[5,4,8,11,null,13......
  • LeetCode_0044. 通配符匹配,带字母'*''?'的模式串匹配仅带字母的主串
    题目描述  给你一个输入字符串(s)和一个字符模式(p),请你实现一个支持'?'和'*'匹配规则的通配符匹配:  1.'?'可以匹配任何单个字符。  2.'*'可以匹配任意字符序列(包括空字符序列)。  3.判定匹配成功的充要条件是:字符模式必须能够完全匹配输入字符串(而不是......
  • Leetcode面试经典150题-739.每日温度
    应读者私信要求,本题协商题目的具体内容给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。示例1:输入:temperatures=[73,74,......
  • 【JavaScript】LeetCode:707设计链表
    文章目录题目内容题目分析(1)获取第n个节点的值(2)头部插入节点(3)尾部插入节点(4)第n个节点前插入节点(5)删除第n个节点完整代码题目内容题目分析添加哨兵节点dummy。在第n个节点前插入节点时,应该找到第n-1个节点(即前一个节点),才能完成插入操作。在删除第n......
  • 「数学::质数」埃氏筛|欧拉筛(埃拉托斯特尼筛法|线性筛法)/ LeetCode 204(C++)
    目录概述1.埃氏筛思路复杂度Code2.欧拉筛(线性筛)思路复杂度Code总结概述上一节我们介绍了对判断一个数是否为质数的方法:「数学::质数」试除法/LuoguP5736(C++)那如果我们期望输出一个范围内的所有质数,使用试除法的时间复杂度是n√n,怎么办呢?LeetCode204:给定整......
  • dfs 验证搜索二叉树——leetcode98
    代码来自leetcode官方一开始我自己写这个代码时只注意当前节点是否会存在空指针,并没有注意到他的孩子节点也有可能为空,绕了我好久。。。。。。/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;......
  • LEETCODE 1709 两个日期的最大空档期
      表: UserVisits+-------------+------+|ColumnName|Type|+-------------+------+|user_id|int||visit_date|date|+-------------+------+该表没有主键,它可能有重复的行该表包含用户访问某特定零售商的日期日志。 假设今天的日期是 '2021-1-1......
  • LeetCode189. 轮转数组(2024秋季每日一题 16)
    给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例2:输入:nums=[-1,-100,3......
  • LeetCode238. 除自身以外数组的乘积(2024秋季每日一题 17)
    给你一个整数数组nums,返回数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据保证数组nums之中任意元素的全部前缀元素和后缀的乘积都在32位整数范围内。请不要使用除法,且在示例1:输入:nums=[1,2,3,4]输出:[24,12,8,6]示例2:输......
  • LeetCode53. 最大子数组和(2024秋季每日一题 15)
    给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组:是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。示例2:输入:nums=[1]输出:1示例3:输入:nums=[5,4,-1......