LeetCode 329

[LinkedLists: Fast and Slow Pointers] List(싸이클탐지): 141. Linked List Cycle

141. Linked List Cycle https://youtu.be/gBTe7lFR3vc?si=VAfWxrUDCliFGt2Q # Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def hasCycle(self, head: Optional[ListNode]) -> bool: # 연결 되어 있으면, fast 루프랑 slow 루프는 만날것이다 라는 아이디어 slow, fast = head, head while fast and fast.next: ..

224. Basic Calculator

224. Basic Calculator https://youtu.be/zsJ-J08Qgdk?si=dx5-25hz18eqybAv 이 문제는 **스택(Stack)**을 사용하여 중위 표기법(expression)을 평가하는 방식으로 풀 수 있습니다. 주어진 수식에서 괄호와 연산자 우선순위를 처리하기 위해 스택이 필요합니다. 아래는 문제를 해결하기 위한 접근 방법과 코드입니다.해결 방법:스택 사용:숫자와 현재 연산자를 저장하여 괄호나 이전 연산 결과를 처리.연산 처리:'+'와 '-' 연산자를 처리하고 숫자를 누적 계산.괄호 처리:'('가 나타나면 현재 계산 상태를 스택에 저장.')'가 나타나면 스택에서 이전 상태를 가져와 현재 결과에 합산.공백 무시:수식에 포함된 공백은 건너뛰기.알고리즘:sign을 초기화하여 ..

128. Longest Consecutive Sequence ☆★★★★★★★★★

128. Longest Consecutive Sequence https://youtu.be/8sF5-yK2jsk?si=azgL_NMsGEf7q6pV 기본적으로 정렬을 하면, => 시간 복잡도 O(n log n) 그러나, 문제에서 요구하는 것은, 시간 복잡도 O(n) 임 !! Set 을 사용하여. 속도 개선! class Solution: def longestConsecutive(self, nums: List[int]) -> int: """ time: O(n^3): for + [while + while 안에 in 조건문] O(2n) => O(n) - O(n^2) 으로 보이지만, 자세히 살펴보면, 그렇지 않음!! ..

LeetCode/Grind169 2024.12.03