Untitled
unknown
javascript
5 months ago
795 B
1
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