🗒️2905. 找出满足差值条件的下标 II
2025-4-25
| 2025-4-25
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Apr 25, 2025 02:25 PM
给你一个下标从 0 开始、长度为 n 的整数数组 nums ,以及整数 indexDifference 和整数 valueDifference 。
你的任务是从范围 [0, n - 1] 内找出  2 个满足下述所有条件的下标 i 和 j :
  • abs(i - j) >= indexDifference 且
  • abs(nums[i] - nums[j]) >= valueDifference
返回整数数组 answer。如果存在满足题目要求的两个下标,则 answer = [i, j] ;否则,answer = [-1, -1] 。如果存在多组可供选择的下标对,只需要返回其中任意一组即可。
注意:i 和 j 可能 相等 。

零、常用枚举技巧——0.1 枚举右,维护左

直接假设 i 在左,j 在右,i <= j - indexDifference ,条件一满足。
条件二:可以将绝对值转换为两个不等式:
  • max_num - nums[j] >= valueDifference
  • nums[j] - min_num >= valueDifference

📎 参考

  • 【题单】常用数据结构(前缀和/差分/栈/队列/堆/字典树/并查集/树状数组/线段树)
  • 1031. 两个非重叠子数组的最大和(二刷)1814. 统计一个数组中好对子的数目
    Loading...