1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| function solution(n, t, m, timetable) {
var answer = '';
let startTime=9*60
let busTime=[]
for(let i=0;i<n;i++){
busTime.push(startTime+i*t)
}
timetable=timetable.map(v=>{
v=v.split(':')
return +v[0]*60+ +v[1]
})
timetable.sort((a,b)=>(a-b))
let client=timetable.filter(v=>v<=busTime[0]).length
let flag=0
if(client>=m){
client=client-m
}else{
client=0
flag=1
}
for(let i=1;i<busTime.length;i++){
client+=timetable.filter(v=>v<=busTime[i]&&v>busTime[i-1]).length
//console.log(client)
flag=0
if(client>=m){
client=client-m
}else{
client=0
flag=1
}
}
if(flag==1){
answer=busTime.pop()
}else{
//console.log(timetable,client)
answer=timetable[timetable.length-client-1]
answer=answer-1
}
answer=''+Math.floor(answer/60)+":"+answer%60
let temp=answer.split(':')
while(temp[0].length<2){
temp[0]='0'+temp[0]
}
while(temp[1].length<2){
temp[1]='0'+temp[1]
}
answer=temp.join(':')
return answer;
}
|