1450 在既定時間做作業的學生人數

2021-10-24 21:17:46 字數 1846 閱讀 2005

給你兩個整數陣列 starttime(開始時間)和 endtime(結束時間),並指定乙個整數 querytime 作為查詢時間。

已知,第 i 名學生在 starttime[i] 時開始寫作業並於 endtime[i] 時完成作業。

請返回在查詢時間 querytime 時正在做作業的學生人數。形式上,返回能夠使 querytime 處於區間 [starttime[i], endtime[i]](含)的學生人數。

示例 1:

輸入:starttime = [1,2,3], endtime = [3,2,7], querytime = 4

輸出:1

解釋:一共有 3 名學生。

第一名學生在時間 1 開始寫作業,並於時間 3 完成作業,在時間 4 沒有處於做作業的狀態。

第二名學生在時間 2 開始寫作業,並於時間 2 完成作業,在時間 4 沒有處於做作業的狀態。

第三名學生在時間 3 開始寫作業,預計於時間 7 完成作業,這是是唯一一名在時間 4 時正在做作業的學生。

示例 2:

輸入:starttime = [4], endtime = [4], querytime = 4

輸出:1

解釋:在查詢時間只有一名學生在做作業。

一、

class

solution

:def

busystudent

(self, starttime: list[

int]

, endtime: list[

int]

, querytime:

int)

->

int:

count =

0for i in

range

(len

(starttime)):

if querytime>=starttime[i]

and querytime<=endtime[i]

: count +=

1return count

二、縮寫

class

solution

:def

busystudent

(self, starttime: list[

int]

, endtime: list[

int]

, querytime:

int)

->

int:

return

sum(starttime[i]

<= querytime <= endtime[i]

for i in

range

(len

(starttime)

))

另一種形式

def

busystudent

(self, starttime: list[

int]

, endtime: list[

int]

, querytime:

int)

->

int:

return

sum(x<=querytime<=y for x,y in

zip(starttime,endtime)

)#return sum(1 for x, y in zip(starttime, endtime) if x <= querytime <= y)

1450 在既定時間做作業的學生人數

題目描述 給你兩個整數陣列 starttime 開始時間 和 endtime 結束時間 並指定乙個整數 querytime 作為查詢時間。已知,第 i 名學生在 starttime i 時開始寫作業並於 endtime i 時完成作業。請返回在查詢時間 querytime 時正在做作業的學生人數。形...

asp DateDiff實現文字在特定時間後消失

datediff timeinterval,date1,date2 firtkmcpfstdayofweek firstweekofyear timeinterval 表示相隔時間的型別,為 yyyy 年 q 季 m 月 y 一年的日數 d 日 w 一周的日數 ww 周 h 時 n 分鐘 s 秒 具...

java根據使用者選擇的時間,做定時任務

配置spring mybatis.xml 在xmlns 下加如新增 xmlns task 在xsi schemalocation裡新增 spring task 3.1.xsd別忘了新增 task annotation driven 新增完成如下 dialect mysql reasonable tr...