题目描述
给定一个数组X和正整数K,请找出使表达式:
X[i] - X[i + 1] - ... - X[i + K - 1]
结果最接近于数组中位数的下标 i ,如果有多个 i 满足条件,请返回最大的 i.
其中,数组中位数:长度为N的数组,按照元素的值大小升序排列后,下标为 N/2 元素的值
输入描述
无
输出描述
无
备注
- 数组X的元素均为正整数
- X的长度n取值范围:2 ≤ n ≤ 1000
- K大于0目小于数组的大小
- i 的取值范围: 0 ≤ i < 1000
- 题目的排序数组X[N]的中位数是X[N/2]
用例
| 输入 | [50,50,2,3],2 |
| 输出 | 1 |
该博客介绍了一道华为在线开发者(OD)测试题目,目标是找到数组中使得特定表达式结果最接近中位数的子数组下标。题目要求利用滑动窗口方法,遍历所有长度为K的子数组,计算与中位数的差距,并返回差距最小的下标i。文章重点讨论了滑动窗口状态转移的细节,特别是如何从旧窗口转换到新窗口时保持计算结果的准确性。
订阅专栏 解锁全文
1525

被折叠的 条评论
为什么被折叠?



