꼭 봐야하는 부분만 본다.“연속 부분 수열”순서를 차례대로 지키면서”곱의 최소”
포인터 2개에 의미를 부여해서 탐색 범위를 좁혀야 함변수를 포인터로 사용함2개의 포인터 모두 왼쪽에서 시작해 같은 방향으로 이동각 포인터가 탐색 범위의 양 끝에서 시작해 서로를 향해 이동right를 이동할 수 있을 때까지 최대로 이동
left를 하나씩 옮기면서 right를 옮길지 말지 결정
public static void twoPointer() {
int right = 0;
for (int left = 0; left < lastIndex; left++) {
// right를 옮길 수 있을 때 까지 옮기기
while (right < lastIndex && "right가 멈출 조건식") {
"조건값 변화"
right++;
}
"정답 갱신" -> for문으로 left 이동
"left에 해당하는 값을 뺌"
}
}
left, right 변수 선언 및 초기화
while(left < right) 조건문
정답 갱신 후 어떤 포인터를 옮길지 판단
public static void twoPointer() {
int left = 0;
int right = lastIndex;
while (left < right) {
"정답 갱신"
if ("어떤 포인터를 옮길지 결정하는 조건식") {
right--;
} else {
left++;
}
}
}