23.05.05每日一题
题目意思就是计算那个工作区间最长,返回其id,如果存在多个则返回id最小的
直接枚举出来每个工作区花费的时间,进行比较即可求出结果。
class Solution {
public int hardestWorker(int n, int[][] logs) {
int max=0;
int ans=0;
for(int i=0;i<logs.length;i++){
int t=i>0?logs[i][1]-logs[i-1][1]:logs[i][1];
if(t>max){
ans=logs[i][0];
max=t;
}else if(t==max){
ans=Math.min(ans,logs[i][0]);
}
}
return ans;
}
}
时间复杂度O(n)
空间复杂度O(1)