题目来源于力扣(LeetCode)
一、题目
题目相关标签:数组
提示:
- startTime.length == endTime.length
- 1 <= startTime.length <= 100
- 1 <= startTime[i] <= endTime[i] <= 1000
- 1 <= queryTime <= 1000
二、解题思路
-
因 startTime 数组与 endTime 数组长度一致,遍历 startTime 数组
-
判断 queryTime 元素是否在遍历的 startTime 和endTime 的元素之间,大于等于 startTime 元素,小于等于 endTime 元素即表示在两个数之间
三、代码实现
public static int busyStudent(int[] startTime, int[] endTime, int queryTime) {
// 记录结果人数
int ans = 0;
for (int i = 0; i < startTime.length; i++) {
// 即从 starttime[i] 到 endtime[i] 之间,存在元素 querytime
if (startTime[i] <= queryTime && endTime[i] >= queryTime) {
ans += 1;
}
}
return ans;
}
四、执行用时
五、部分测试用例
public static void main(String[] args) {
int[] startTime = {1, 2, 3}, endTime = {3, 2, 7};
int queryTime = 4; // output:1
// int[] startTime = {4}, endTime = {4};
// int queryTime = 4; // output:1
// int[] startTime = {4}, endTime = {4};
// int queryTime = 5; // output:0
// int[] startTime = {1, 1, 1, 1}, endTime = {1, 3, 2, 4};
// int queryTime = 7; // output:0
// int[] startTime = {9, 8, 7, 6, 5, 4, 3, 2, 1}, endTime = {10, 10, 10, 10, 10, 10, 10, 10, 10};
// int queryTime = 5; // output:5
int result = busyStudent(startTime, endTime, queryTime);
System.out.println(result);
}