일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 구글퀵랩
- 파이썬알고리즘
- slidingwindow
- 파이썬기초100제
- 슬라이딩윈도우
- two-pointer
- 자연어처리
- 투포인터
- GenerativeAI
- 알고리즘
- LeetCode
- 생성형AI
- medium
- Microsoft
- heap
- 리트코드
- 릿코드
- stratascratch
- nlp
- GenAI
- Python
- sql코테
- SQL
- 파이썬
- Python3
- 코드업
- codeup
- 니트코드
- gcp
- dfs
- Today
- Total
목록sliding window (4)
Tech for good

🌷 Subarray vs Subsequence"Do I need to pick connected elements?" - have to be contiguousSubarrayEx) arr = [1, 2, 3, 4]❌ [1, 3] is not valid — skips 2"Can I pick elements freely as long as I keep the order?"- do not have to be contiguousSubsequence✅ [1, 4] is valid — it's in the correct order. ✅ Code OverviewYou're implementing a sliding window approach, where:You track the maximum and minimum v..

// 1. nums[l] % 2 == 0 -> left pointer가 가리키는 숫자가 짝수니?nums = [3,2,5,4]// For all indices i in the range [l, r - 1], nums[i] % 2 != nums[i + 1] % 2nums = [3,2,5,4]// -> [l, r-1] 범위 사이에 짝수랑 홀수가 번갈아가면서 나오니?i = 0 -> nums[i=0] = 3 -> 3 % 2 = 1i = 1 -> nums[i+1] = 2 -> 2 % 2 = 05 -> ... % 2 = 14 -> ... % 2 = 0// For all indices i in the range [l, r], nums[i] 윈도우의 시작점 찾기nums[l]이 짝수(% 2 == 0)이고, nums[l]..

슬라이딩 윈도우 반복 (for right in range(len(nums)))right 포인터를 이동하면서 새로운 숫자를 곱함.product *= nums[right] → 현재 부분 배열의 곱을 업데이트.조건을 만족하지 않으면 left 이동 (while product >= k)곱이 k 이상이면 left 포인터를 오른쪽으로 이동하여 곱을 줄임.product //= nums[left]: left가 가리키던 값을 나누어 곱을 감소.//= : 몫을 구하는 나눗셈 후 할당 연산자ex) a //= b -> a = a // bleft += 1: left를 이동하여 윈도우 크기를 줄임.가능한 부분 배열 개수 추가 (count += right - left + 1)(right - left + 1)는 현재 윈도우에서 만들 ..

첫번째 방법 - 해시맵(HashMap)class Solution: def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool: index_map = {} # 숫자의 마지막 등장 인덱스를 저장할 딕셔너리 for i, num in enumerate(nums): if num in index_map and i - index_map[num] 딕셔너리(HashMap)을 사용하여 숫자의 인덱스를 저장하고, 현재 인덱스와 이전에 나온 동일 숫자의 인덱스 차이가 k 이하인지 확인하는 방식.풀이 설명index_map 딕셔너리를 사용하여 숫자 num의 가장 최근 인덱스를 저장한다.리스트 nums를 순회하면서:현재..