Daily iOS
CS 기초·알고리즘

O(1) LRU 캐시

최근 사용한 항목만 남기는 LRU 캐시를 설계합니다. get과 put을 평균 O(1)로 만들기 위해 HashMap과 이중 연결 리스트가 각각 무엇을 맡습니까?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

Dictionary는 키에서 리스트 노드로 O(1)에 건너뛰는 색인만 맡고, 이중 연결 리스트는 head가 가장 최근, tail이 가장 오래된 순서를 유지해 노드를 O(1)에 떼어 앞으로 옮기거나 끝에서 제거하는 일을 맡는다.

받은 질문 공유