題目連結:
題目意譯:
給定兩整數陣列 startTime 和 endTime,並給定一整數 queryTime。
第 i 位學生於 startTime[i] 這個時間點開始做他們的作業,並在 endTime[i] 這個時間點完成作業。
回傳 queryTime 這個時間點正在做自己的作業的學生之數量。更正式地說,回傳學生的數量,其中 queryTime 座落於區間 [startTime[i], endTime[i]] 之中(含端點)。
限制:
startTime.length == endTime.length
1 ≦ startTime.length ≦ 100
1 ≦ startTime[i] ≦ endTime[i] ≦ 1000
1 ≦ queryTime ≦ 1000
範例測資:
範例 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
解釋: 唯一的學生正好在時間點 4 的時候做作業。
解題思維:
就是單純地掃過 startTime[i],然後檢查 queryTime 有沒有滿足 startTime[i] ≦ queryTime ≦ endTime[i]。用一變數 C 來統計 queryTime 滿足條件的次數。
最後 C 之值即為所求。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。