LeetCode 每日一题 1450. 在既定时间做作业的学生人数

1. 题目

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

2. 描述

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

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

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

3. 思路

主要就是对数组进行遍历,一旦查询时间位于起止时间范围内,则说明该查询时间范围内有一名学生在做作业的状态。主要是对数组进行遍历,此时的时间复杂度为 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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章