Untitled
unknown
plain_text
a year ago
738 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],[i]]
ret.push('good')
} else {
var earliest2 = queue[r][0][0]
while (i - earliest2 > 5){
queue[r][0].shift()
earliest2 = queue[r][0][0]
}
var earliest5 = queue[r][1][0]
while (i - earliest5 > 30){
queue[r][1].shift()
}
if ((queue[r][0].length >= 2) || (queue[r][1].length >= 5)){
ret.push('bad')
} else {
queue[r][0].push(i)
queue[r][1].push(i)
ret.push('good')
}
}
}
console.log(ret)
return ret
}
gateway(['a','a','b','b','c','a','d'])Editor is loading...
Leave a Comment