1. 题目
1450. 在既定时间做作业的学生人数
2. 描述
给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间。
已知,第 i 名学生在 startTime[i] 时开始写作业并于 endTime[i] 时完成作业。
请返回在查询时间 queryTime 时正在做作业的学生人数。形式上,返回能够使 queryTime 处于区间 [startTime[i], endTime[i]](含)的学生人数。
3. 思路
主要就是对数组进行遍历,一旦查询时间位于起止时间范围内,则说明该查询时间范围内有一名学生在做作业的状态。主要是对数组进行遍历,此时的时间复杂度为 O ( n ) O(n)O(n).
4. 实现
public int busyStudent(int[] startTime, int[] endTime, int queryTime) { // 用于计数 int count = 0; for (int i = 0; i < startTime.length; i++) { // 一旦查询时间介于 startTime ~ endTime,则数量 +1 if (queryTime >= startTime[i] && queryTime <= endTime[i]) { count++; } } return count; }