CS/알고리즘2025. 2. 7. 18:46[알고리즘] 특정 수열에서 양 옆 최대값을 O(1)로 구해보자!
✏️ 알고리즘 개요알고리즘 문제를 풀다보면 특정 수열에서 i번째 원소를 기준으로 왼쪽 혹은 오른쪽 원소들에 대해 최대값을 구해야하는 경우가 종종 있다. 아래와 같이 단순하게 왼쪽, 오른쪽 원소들에 대해 반복문을 통해 최대값을 구하는 것을 생각해볼 수 있다.int[] arr = new int[]{5,9,6,2,1,4,5,6,8,10,4};for(int i=0; i=0; j--) { leftMaxValue = Math.max(leftMaxValue, arr[j]); } //오른쪽 최대값 int rightMaxValue = 0; for(int j=i+1; j 그러나 수열의 길이가 매우 길어지고, 찾아야하는 원소의 개수가 많아질수록 위와 같은 반복문은 매우 긴 시간복잡도를 가지..