투포인터(Two Pointers) 알고리즘
·
DevOps/알고리즘
투포인터(Two Pointers) 알고리즘두 개의 포인터를 활용하여 배열이나 문자열에서 특정 조건을 만족하는 구간 / 조합을 효율적으로 찾는 알고리즘 투포인터의 개념배열 또는 리스트에서 두 개의 인덱스(포인터)를 사용하여 문제 해결포인터를 좌/우, 앞/뒤 등으로 이동시키면서 조건을 체크시간 복잡도 : 대부분 O(N) ~ O(N logN) 수준으로 최적화 가능언제 사용할까?연속 구간 합 / 부분합 문제정렬된 배열에서 합이 특정 값이 되는 쌍 찾기최대/최소 길이 구간 문제슬라이딩 윈도우 문제와 유사한 패턴구조int left = 0;int right = 0;while(right left : 시작 위치right : 끝 위치배열/리스트가 정렬되어 있으면 더 효율적예제 1: 합이 M인 연속 부분 배열 찾기문제 : ..