![Python算法指南:程序员经典算法分析与实现](https://wfqqreader-1252317822.image.myqcloud.com/cover/208/31476208/b_31476208.jpg)
上QQ阅读APP看书,第一时间看更新
例81 数组中的相同数字
1. 问题描述
给出一个数组,如果数组中存在相同数字,且相同数字的距离小于给定值k,则输出YES,否则输出NO。
2. 问题示例
给出array=[1,2,3,1,5,9,3],k=4,返回YES,索引为3的1和索引为0的1距离为3,满足题意。给出array=[1,2,3,5,7,1,5,1,3],k=4,返回YES,索引为7的1和索引为5的1距离为2,满足题意。注意输入的数组长度为n,保证n≤100000;数组元素的值为x,0≤x≤1e9,输入的k满足1≤k<n。
3. 代码实现
![](https://epubservercos.yuewen.com/2ECEAD/17035792804285206/epubprivate/OEBPS/Images/Figure-P165_12746.jpg?sign=1738903324-7CbUBFeVBp67OX08tMymKINODS91yOOF-0-43c09495de92775c1efa71823d2f6f5e)
4. 运行结果
输入的数组是:[1,2,3,1,5,9,3],给定的k=4
输出的结果是:YES