Skip to main content

Command Palette

Search for a command to run...

Solving Leetcode Interviews in Seconds with AI: Number of Students Doing Homework at a Given Time

Updated
2 min read

Introduction

In this blog post, we will explore how to solve the LeetCode problem "1450" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like Chatmagic, we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

Problem Statement

Given two integer arrays startTime and endTime and given an integer queryTime. The ith student started doing their homework at the time startTime[i] and finished it at time endTime[i]. Return the number of students doing their homework at time queryTime. More formally, return the number of students where queryTime lays in the interval [startTime[i], endTime[i]] inclusive. Example 1: Input: startTime = [1,2,3], endTime = [3,2,7], queryTime = 4 Output: 1 Explanation: We have 3 students where: The first student started doing homework at time 1 and finished at time 3 and wasn't doing anything at time 4. The second student started doing homework at time 2 and finished at time 2 and also wasn't doing anything at time 4. The third student started doing homework at time 3 and finished at time 7 and was the only student doing homework at time 4. Example 2: Input: startTime = [4], endTime = [4], queryTime = 4 Output: 1 Explanation: The only student was doing their homework at the queryTime. Constraints: startTime.length == endTime.length 1 <= startTime.length <= 100 1 <= startTime[i] <= endTime[i] <= 1000 1 <= queryTime <= 1000

Explanation

Here's the solution to the problem:

  • Approach: Iterate through the startTime and endTime arrays. For each student i, check if queryTime falls within the inclusive range [startTime[i], endTime[i]]. If it does, increment a counter.
  • Complexity:
    • Runtime Complexity: O(n), where n is the number of students (length of startTime or endTime).
    • Storage Complexity: O(1) (constant extra space)
  • Code:

Code

    def busyStudent(startTime, endTime, queryTime):
    """
    Counts the number of students doing homework at queryTime.

    Args:
        startTime (list[int]): Start times of homework.
        endTime (list[int]): End times of homework.
        queryTime (int): The time to check.

    Returns:
        int: The number of students doing homework at queryTime.
    """
    count = 0
    for i in range(len(startTime)):
        if startTime[i] <= queryTime <= endTime[i]:
            count += 1
    return count

More from this blog

C

Chatmagic blog

2894 posts