在既定时间做作业的学生人数

简介: 在既定时间做作业的学生人数

说在前面

🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。

题目描述

给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间。

已知,第 i 名学生在 startTime[i] 时开始写作业并于 endTime[i] 时完成作业。

请返回在查询时间 queryTime 时正在做作业的学生人数。形式上,返回能够使 queryTime 处于区间 [startTime[i], endTime[i]](含)的学生人数。

示例 1:

输入:startTime = [1,2,3], endTime = [3,2,7], queryTime = 4
输出:1
解释:一共有 3 名学生。
第一名学生在时间 1 开始写作业,并于时间 3 完成作业,在时间 4 没有处于做作业的状态。
第二名学生在时间 2 开始写作业,并于时间 2 完成作业,在时间 4 没有处于做作业的状态。
第三名学生在时间 3 开始写作业,预计于时间 7 完成作业,这是是唯一一名在时间 4 时正在做作业的学生。

示例 2:

输入:startTime = [4], endTime = [4], queryTime = 4
输出:1
解释:在查询时间只有一名学生在做作业。

示例 3:

输入:startTime = [4], endTime = [4], queryTime = 5
输出:0

示例 4:

输入:startTime = [1,1,1,1], endTime = [1,3,2,4], queryTime = 7
输出:0

示例 5:

输入:startTime = [9,8,7,6,5,4,3,2,1], endTime = [10,10,10,10,10,10,10,10,10], queryTime = 5
输出:5

提示:

  • startTime.length == endTime.length
  • 1 <= startTime.length <= 100
  • 1 <= startTime[i] <= endTime[i] <= 1000
  • 1 <= queryTime <= 1000

思路分析

首先我们应该先读一遍题目,读完题目后我们会发现,今天的这道题目好像有点简单。题目会给我们三个参数,分别是:

  • startTime

学生开始做作业的时间集

  • endTime

学生做完作业的时间集

  • queryTime

我们需要找到queryTime时正在做作业的学生人数

读完题目我们可以知道 starTime[i] ~ endTime[i] 代表第i位学生做作业的时间段,所以我们只需要遍历判断每一位学生做作业的时间段中是否包含queryTime即可。

AC代码

/**
 * @param {number[]} startTime
 * @param {number[]} endTime
 * @param {number} queryTime
 * @return {number}
 */
var busyStudent = function(startTime, endTime, queryTime) {
    let res = 0;
    for(let i = 0; i < startTime.length; i++){
        if(startTime[i] <= queryTime && endTime[i] >= queryTime){
            res++;
        }
    }
    return res;
};

公众号

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

目录
相关文章
|
JavaScript 小程序 Shell
🤒如果老板搞代码量统计,打工人如何自救?
“一个下午做出一个微信小程序”,“一个下午搞定业务方案”,每天写1000行代码的成绩,大家你们真的做得到吗?
308 0
🤒如果老板搞代码量统计,打工人如何自救?
航班时间
航班时间
94 0
|
小程序
小李,提前约一下会议室和建日程并思考一下想要沟通的事情!
小李,提前约一下会议室和建日程并思考一下想要沟通的事情!
(未解决)leetcode857 雇佣k名工人的最低成本
(未解决)leetcode857 雇佣k名工人的最低成本
71 0
|
程序员 开发者
项目外包:时间不够、能力不够、钱不够
一般我们找外包有几个原因:时间不够、能力不够、钱不够。或者几种兼有。
181 0
项目外包:时间不够、能力不够、钱不够
LeetCode 训练场:1450. 在既定时间做作业的学生人数
LeetCode 训练场:1450. 在既定时间做作业的学生人数
118 0
LeetCode 训练场:1450. 在既定时间做作业的学生人数
一段统计双色球历史摇奖记录里每位出现次数的代码
一段统计双色球历史摇奖记录里每位出现次数的代码
179 0
一段统计双色球历史摇奖记录里每位出现次数的代码
8瓶酒一瓶有毒,用人测试。每次测试结果8小时后才会得出,而你只有8个小时的时间。问最少需要(B)人测试?
8瓶酒一瓶有毒,用人测试。每次测试结果8小时后才会得出,而你只有8个小时的时间。问最少需要(B)人测试?
340 0
贪心算法——安排最大会议数量
贪心算法——安排最大会议数量
|
人工智能 自然语言处理 数据挖掘
阿里员工一天有26小时,怎么做到的?
阿里人一天的工作日常,是一场办公黑科技展,更是一部“时间减史”。 今天有幸来到号称“宇宙西厂”的阿里巴巴西溪园区逛逛,亲身体验下阿里人的一天,感受员工的数字化办公和生活。
阿里员工一天有26小时,怎么做到的?