class Solution: def closestKValues(self, root: Optional[TreeNode], target: float, k: int) -> List[int]: h = [] ret = [] def dfs(node): heapq.heappush(h, (abs(target-node.val), node.val)) if node.left != None: dfs(node.left) if node.right != None: dfs(node.right) dfs(root) for i in range(k): ret.append(heapq.heappop(h)[1]) return ret 270. Closest Binary Search Tree Value 문제의 고난이도 문제다. 이번엔 Target ..
Binary Search Tree의 root node와 Target value가 주어지고, Tree의 모든 node를 탐색해 Target value의 가장 근사한 value를 가진 node를 return하면 된다. DFS를 통해 left child와 right child가 존재하면 계속 탐색해 나가는 방식으로 구현했다. class Solution: def closestValue(self, root: Optional[TreeNode], target: float) -> int: def dfs(node, target): l = r = math.inf if node.left != None: l = abs(node.left.val - target) if node.right != None: r = abs(node...
- Total
- Today
- Yesterday
- DICTIONARY
- 파이썬
- 투 포인터
- 머신 러닝
- C++
- leetcode
- min heap
- 안드로이드
- The Economist Espresso
- Hash Map
- Android
- java
- 이코노미스트
- Python
- 티스토리챌린지
- 딕셔너리
- The Economist
- tf-idf
- socket programming
- vertex shader
- 소켓 프로그래밍
- 이코노미스트 에스프레소
- ml
- Computer Graphics
- defaultdict
- 오블완
- I2C
- 리트코드
- join
- machine learning
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |