Best Sightseeing Pair
MediumArrayDynamic Programming
Solution
export function maxScoreSightseeingPair(values: number[]): number {
const n = values.length;
const dp = new Array(n).fill(0);
dp[0] = values[0];
let answer = 0;
for (let i = 1; i < n; i++) {
dp[i] = Math.max(dp[i - 1], values[i] + i);
answer = Math.max(answer, dp[i - 1] + values[i] - i);
}
return answer;
}
Complexity
- Time:
- Space: