1429. First Unique Number
in Coding Interview on Medium, Queue, Design
정수 큐가 있고 큐에서 첫 번째 고유 정수를 검색
in Coding Interview on Medium, Queue, Design
정수 큐가 있고 큐에서 첫 번째 고유 정수를 검색
in Coding Interview on Medium, Design
- 배열 이름과 열로 표시되는 n개의 테이블이 주어질 때 각 연산을 구현하라.
- names[i]는 i번째 테이블의 이름이고 columns[i]는 i번째 테이블의 열 수
in Coding Interview on Easy, Design
정수 스트림과 윈도우 크기가 주어지면 슬라이딩 윈도우에 있는 모든 정수의 이동 평균을 계산
in Coding Interview on Medium, Design
새 단어 추가를 지원하고 문자열이 이전에 추가된 문자열과 일치하는지 확인하는 데이터 구조를 설계
- void addWord(word) 데이터 구조에 단어를 추가하고 나중에 일치시킬 수 있습니다.
- bool search(word) 데이터 구조에 단어와 일치하는 문자열이 있으면 true를 반환하고 그렇지 않으면 false를 반환
in Coding Interview on Design
크기 n의 배열 숫자가 주어지면 다수 요소를 반환
in Coding Interview on Design
결과 배열에 1만 포함된 비어 있지 않은 가장 긴 하위 배열의 크기를 반환
in Coding Interview on Design, Queue
특정 시간 프레임 내의 최근 요청 수를 계산하는 RecentCounter 클래스 구현
일부 주식에 대한 일일 가격 시세를 수집하고 현재 날짜의 해당 주식 가격 범위를 반환하는 알고리즘을 설계합니다.
- 하루 동안의 주가 범위는 주가가 그날의 가격보다 작거나 같은 최대 연속 일수(당일부터 시작하여 뒤로)입니다.
- Example: [100,80,60,70,60,75,86] -> [1,1,1,2,1,4,6]
in Coding Interview on Design, HashMap
3가지 기능이 있는 Leaderboard 클래스를 설계
- addScore(playerId, score): 주어진 플레이어의 점수에 점수를 추가하여 순위표를 업데이트
- top(K): 상위 K 플레이어의 점수 합계를 반환
- reset(playerId): 주어진 ID를 가진 플레이어의 점수를 0으로 재설정(즉, 리더보드에서 삭제)
이진 트리의 노드에서 거리가 k인 모든 노드의 값 배열을 반환
in Coding Interview on String, Design
문자열 목록을 문자열로 인코딩하는 알고리즘을 설계
그런 다음 인코딩된 문자열은 네트워크를 통해 전송되고 원래 문자열 목록으로 다시 디코딩
in Coding Interview on Concurrency, Design
first() 다음에 second()가 실행되고 second() 다음에 third()가 실행되도록 메커니즘을 설계하고 프로그램을 수정
- Problems of Concurrency
MedianFinder 클래스를 구현
- void addNum(int num): 데이터 스트림의 정수값을 데이터 구조에 추가
- double findMedian(): 모든 요소의 중앙값을 반환
in Coding Interview on Design, Binary Search
가장 최근에 사용한 요소를 대기열의 끝으로 이동시키는 데이터 구조를 설계
in Coding Interview on Design, Interval
달력에 새 이벤트를 추가해도 이중 예약이 발생하지 않도록 구현
in Coding Interview on Easy, Design, Stack, Queue
스택을 이용해서 큐 구현하기 (입출력 스택으로 순서를 뒤집을 수 있다)
in Coding Interview on Tree, Design, DFS
두 개의 이진 문자열 a와 b가 주어지면 합계를 이진 문자열로 반환
in Coding Interview on Medium, Design, HashMap, Linked List
LRU(최소 사용) 캐시의 제약 조건을 따르는 데이터 구조를 설계
- int get(int key) Return the value of the key if the key exists, otherwise return -1.
- void put(int key, int value) Update the value of the key if the key exists. Otherwise, add the key-value pair to the cache. If the number of keys exceeds the capacity from this operation, evict the least recently used key.
- The functions get and put must each run in O(1) average time complexity.
in Coding Interview on HashMap, Design
RandomizedSet 클래스를 구현: 각 함수가 평균 O(1) 시간 복잡도에서 작동하도록 클래스의 함수를 구현
in Coding Interview on Design
정렬된 스트림 설계
in Coding Interview on Medium, Stack, Design
push, pop, top 그리고 일정한 시간에 최소 요소 검색을 지원하는 스택을 설계
in Coding Interview on Medium, Tree, Binary Search Tree, Design
BST(이진 검색 트리)의 중위순회에 대한 반복자를 나타내는 BSTIterator 클래스를 구현
- boolean hasNext(): 다음값이 존재하면 true, 아니면 false
- int next(): 가장 작은 값부터 오름차순으로 값을 리턴