Find Indices With Index and Value Difference I

EasyArrayTwo Pointers

Solution

export function findIndices(
  nums: number[],
  indexDifference: number,
  valueDifference: number,
): number[] {
  const n = nums.length;
 
  let minIndex = 0;
  let maxIndex = 0;
  for (let i = indexDifference; i < n; i++) {
    const prevIndex = i - indexDifference;
    if (nums[prevIndex] < nums[minIndex]) {
      minIndex = prevIndex;
    }
    if (nums[prevIndex] > nums[maxIndex]) {
      maxIndex = prevIndex;
    }
    if (nums[i] - nums[minIndex] >= valueDifference) {
      return [minIndex, i];
    }
    if (nums[maxIndex] - nums[i] >= valueDifference) {
      return [maxIndex, i];
    }
  }
  return [-1, -1];
}