Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3092. Most Frequent IDs #59

Open
mdgarden opened this issue Mar 27, 2024 · 1 comment
Open

3092. Most Frequent IDs #59

mdgarden opened this issue Mar 27, 2024 · 1 comment

Comments

@mdgarden
Copy link
Owner

https://leetcode.com/problems/most-frequent-ids/description/

키워드

  • 해시 테이블
  • 빈도수 추적
  • 동적 변경

지금 모르겠는거

빈도수 추적의 구체적인 알고리즘
다른 사람 풀이 보면 MaxPriorityQueue같은 클래스를 직접 구현했던데 정작 그 구현 부분을 보여주지 않아서 안개 낀 상태

@mdgarden
Copy link
Owner Author

초기화: idFrequencies 해시 테이블과 ans 배열, 그리고 maxHeap 최대 우선순위 큐를 초기화합니다.
반복 처리: nums와 freq 배열을 순회하면서 각 ID의 빈도수를 업데이트합니다.
빈도수 업데이트: 현재 ID에 대한 빈도수를 계산하고, idFrequencies 해시 테이블에 저장합니다.
최대 우선순위 큐 업데이트: 현재 ID와 그 빈도수를 maxHeap에 추가합니다.
불일치 제거: maxHeap에서 idFrequencies 해시 테이블과 빈도수가 일치하지 않는 항목을 제거합니다.
최대 빈도수 설정: maxHeap의 최상단에 있는 요소의 빈도수를 현재 단계의 답으로 설정합니다.
답 배열에 추가: 계산된 최대 빈도수를 ans 배열에 추가합니다.
결과 반환: 모든 처리가 끝나면 ans 배열을 반환합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant