Zero to Hero
article thumbnail
128. Longest Consecutive Sequence
Algorithm 2021. 7. 1. 16:46

Longest Consecutive Sequence - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 정수가 포함된 List가 주어진다. 이 List의 정수들이 연속되게 증가, 혹은 감소하는 조합의 최대 길이를 반환하는 문제다. 시간 복잡도 제한은 O(n)이다. 예시는 다음과 같다. Input: nums = [100,4,200,1,3,2] Output: 4 Explanation: The longest consecutive elements sequence is [..

article thumbnail
11. Container With Most Water
Algorithm 2021. 6. 30. 22:16

Container With Most Water - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 컨테이너 벽의 값이 list로 주어진다. 두 개의 값을 골라서 가장 많은 양의 물을 담을 수 있는 컨테이너의 세로 벽 후보를 고르고, 그때 담을 수 있는 물의 양을 반환하는 문제다. 1. Brute Force from typing import * class Solution: def maxArea(self, height: List[int]) -> int: set1 = ..

article thumbnail
@cache
Programming 2021. 6. 28. 20:19

96. Unique Binary Search Trees Unique Binary Search Trees - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 노드.. doljae.tistory.com 최근에 이런 문제를 풀었었다. 트리 문제가 그러하듯 left, right에 함수 달고 반환 값을 조합해서 구할 수 있는 문제였다. 방향까진 생각했으나 코드까지는 작성 못했던 걸 풀이를 참고해서(복붙 해서) 작성해봤고 결과는 다음과 같다. class Solution: ..

article thumbnail
96. Unique Binary Search Trees
Algorithm 2021. 6. 27. 17:18

Unique Binary Search Trees - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 노드의 개수가 주어진다. 주어진 노드를 모두 사용해서 만들 수 있는 이진트리의 형태의 가짓수를 반환하는 문제다. 1. DFS 처음에 DFS로 해결할 수 있는지를 생각해보았다. 결과적으론 불가능하다고 판단했다. 루트 노드를 기준으로 DFS는 left subtree, right subtree를 한 재귀에서 위 문제에서 확인해야 하는 상태를 볼 수 없다. 2. DP cl..

article thumbnail
380. Insert Delete GetRandom O(1)
Algorithm 2021. 6. 26. 16:55

Insert Delete GetRandom O(1) - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com class RandomizedSet: def __init__(self): """ Initialize your data structure here. """ def insert(self, val: int) -> bool: """ Inserts a value to the set. Returns true if the set did not already contain t..

article thumbnail
116. Populating Next Right Pointers in Each Node
Algorithm 2021. 6. 24. 17:22

Populating Next Right Pointers in Each Node - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이진트리가 주어진다. 이진트리의 동일한 레벨을 왼쪽에서 오른쪽으로 연결하는 문제다. 1. BFS from collections import deque, defaultdict class Solution: def connect(self, root: 'Node') -> 'Node': q = deque([(root, 0)]) dict1 = d..