일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 운영체제
- UserDefaults
- @state
- async
- 인프런
- 비동기
- IOS
- SwiftUI
- COLOR
- decode
- core data
- 알고리즘
- Codable
- scrollview
- struct
- Apple Developer Academy
- 가상 메모리
- 프로세스 스케줄링
- 100 days of SwiftUI
- 동시성
- deadlock
- 동기화
- Linked List
- forEach
- Swift
- 데드락
- Algorithm
- 상호배제
- 앨런
- 오브젝트
Archives
- Today
- Total
목록구간합 (1)
기어가더라도 제대로
[알고리즘 스터디 with 케이시] 투포인터 알고리즘
투포인터 알고리즘 정의 일차원 배열에 두개의 포인터를 두고 조작하는 알고리즘 보통 연속적인 구간에 대한 계산을 할 때 많이 사용한다. 구간합 문제에서 많이 사용 count = 0 partialSum = 7 P1 = 0 P2 = 0 부터 출발해서 두 포인터가 마지막 요소까지 도착을 하며 두 포인터사이의 합이 10이 될때 마다 카운터에 1을 더한다. 목적값이 10인데 부분합이 7이므로 두번째 포인터를 이동시킨다. 부분합이 8이 되었다. count = 0 partialSum = 8 P1 = 0 P2 = 1 부분합이 8로 10을 넘지 않으므로, 두번째 포인터를 한칸 이동한다. 부분합이 11이 되었다. count = 0 partialSum = 11 P1 = 0 P2 = 2 부분합이 10을 넘었으므로, 첫번째 포인..
CS/자료구조
2022. 8. 6. 08:55