LeetCode 75: 933. Number of Recent Calls

김준수·2024년 3월 19일
0

LeetCode 75

목록 보기
27/63
post-custom-banner

leetcode link

Description

You have a RecentCounter class which counts the number of recent requests within a certain time frame.

Implement the RecentCounter class:

  • RecentCounter() Initializes the counter with zero recent requests.
  • int ping(int t) Adds a new request at time t, where t represents some time in milliseconds, and returns the number of requests that has happened in the past 3000 milliseconds (including the new request). Specifically, return the number of requests that have happened in the inclusive range [t - 3000, t].

It is guaranteed that every call to ping uses a strictly larger value of t than the previous call.


특정 시간 프레임내에서 발생한 최근요청수를 계산하는 카운터 RecentCounter 클래스를 구현하시오
RecentCounter 클래스를 구현하세요:

  • RecentCounter() : 카운터 생성하면서 최근요청수를 0으로 초기화합니다.
  • int ping(int t)은 새로운 요청시간 t를 추가합니다. t는 밀리초단위의 시간으로 t가 입력되면 ping()t시간에 새로운 요청을 추가하고, 3000 범위 내에서 발생한 요청 수를 반환합니다. 구체적으로는 [t - 3000, t] 범위 내에서 발생한 요청 수를 반환합니다.

이전 호출보다 엄격히 더 큰 t 값이 사용됨이 보장됩니다.

예제:

입력:
["RecentCounter", "ping", "ping", "ping", "ping"][], [1], [100], [3001], [3002]]

출력:
[null, 1, 2, 3, 3]

설명:
RecentCounter recentCounter = new RecentCounter();
recentCounter.ping(1); // 요청 = [1], 범위는 [-2999,1], 반환값은 1
recentCounter.ping(100); // 요청 = [1, 100], 범위는 [-2900,100], 반환값은 2
recentCounter.ping(3001); // 요청 = [1, 100, 3001], 범위는 [1,3001], 반환값은 3
recentCounter.ping(3002); // 요청 = [1, 100, 3001, 3002], 범위는 [2,3002], 반환값은 3

제약조건:

  • 1 <= t <= 109
  • 각 테스트 케이스는 엄격히 증가하는 t 값으로 ping를 호출합니다.
  • ping에 최대 104번의 호출이 이루어집니다.
post-custom-banner

0개의 댓글