문제
정수 배열 arr을 첫 번째이자 유일한 인수로 사용하는 JavaScript 함수입니다.
우리 함수는 (arr[i] + arr[j]) + (i - j)가 배열의 모든 인덱스 쌍 중에서 최대가 되도록 인덱스 쌍(i, j)을 선택해야 합니다. 그러면 함수가 최대값을 반환해야 합니다.
예를 들어, 함수에 대한 입력이 -
인 경우const arr = [8, 1, 5, 2, 6];
그러면 출력은 다음과 같아야 합니다. -
const output = 11;
출력 설명
i =0 및 j =2를 선택하면 값은 -
가 됩니다.(8 + 5) + (0 - 2) = 11
이는 모든 인덱스 쌍에 대해 실제로 최대입니다.
예시
이에 대한 코드는 -
const arr = [8, 1, 5, 2, 6]; const findMaximum = (arr = []) => { let max = arr[0] + 0; let res = -Infinity; for(let i = 1; i < arr.length; i++){ res = Math.max(res, max + arr[i] - i); max = Math.max(arr[i] + i, max); }; return res; }; console.log(findMaximum(arr));
출력
콘솔의 출력은 -
11