1. 题目
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;
}