import java.util.Arrays;
/**
* @author xnl
* @Description:
* @date: 2022/8/19 22:05
*/
public class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
}
/**
* 直接暴力
* @param startTime
* @param endTime
* @param queryTime
* @return
*/
public int busyStudent(int[] startTime, int[] endTime, int queryTime) {
int ans = 0;
for (int i = 0; i < startTime.length; i++){
if (startTime[i] <= queryTime && endTime[i] >= queryTime){
ans++;
}
}
return ans;
}
/**
* 差分数组
* @param startTime
* @param endTime
* @param queryTime
* @return
*/
public int busyStudent2(int[] startTime, int[] endTime, int queryTime) {
int n = startTime.length;
int maxEndTime = Arrays.stream(endTime).max().getAsInt();
if (maxEndTime < queryTime){
return 0;
}
int[] cnt = new int[maxEndTime + 2];
for (int i = 0; i < n; i++){
cnt[startTime[i]]++;
cnt[endTime[i] + 1]--;
}
int ans = 0;
for (int i = 0; i <= queryTime; i++){
ans += cnt[i];
}
return ans;
}
}
力扣:1450. 在既定时间做作业的学生人数
于 2022-08-19 22:26:26 首次发布