Untitled
unknown
javascript
a year ago
795 B
4
Indexable
function gateway(requests){
var queue = {}
var ret = []
for (var i=0; i<requests.length; i++){
var r = requests[i]
if (!(r in queue)){
queue[r] = [i]
ret.push('good')
} else {
var inqueue = queue[r]
while (inqueue[inqueue.length-1]-inqueue[0] > 30){
inqueue.shift()
}
var gt2 = 0
var gt5 = 0
for (var j=0; j<inqueue.length;j++){
if (inqueue[j] > i-5){
gt2 += 1
}
if (inqueue[j] > i-30){
gt5 += 1
}
if ((gt2 == 2) || (gt5 == 5)){
ret.push('bad')
break
}
}
if (gt2 < 2 && gt5 < 5){
ret.push('good')
queue[r].push(i)
}
}
}
console.log(ret)
return ret
}
gateway(['a','a','b','b','a','a','d'])Editor is loading...
Leave a Comment