Динамический алгоритм ограничения скорости - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь выяснить, как группировать клиентские запросы по частоте / минуте, то есть приходится учитывать многочисленные 60-секундные окна для каждого клиента.

def solution(A,Y)
      # Where "A" is the input and "Y" is the given rate limit

Вход A представляет собой массив строк в формате <client> <timestamp>

Например, задан предел 3 и следующие журналы:

"java 0"
"java 15"
"java 59"
"java 60"
"java 120"
"java 240"
"python 0"
"python 15"
"python 45"
"python 125"

Функция будет возвращать ["java 6", "python 4"]

Но что на самом деле должен делать код, сгруппировать его в минуту, что означает

java 0-59: 3 request java 60-119: 1 request java 120-179: 0 request

И затем суммировать все запросы для каждого клиента по всему журналу.

Как бы вы, используя Python 3.6, учитывали количество отправленных запросов в минуту для каждого клиента?

...