class Solution {
public:
bool containsNearbyDuplicate(vector<int>& nums, int k) {
int len=nums.size();
bool flag=false;
multimap<int ,int> mulm;
for(int i=0;i<len;i++)
{
mulm.insert(make_pair(nums[i],i));
}
multimap<int,int>::iterator it1=mulm.begin();
multimap<int ,int>::iterator it2=it1;
it2++;
for(;it2 !=mulm.end();it1++,it2++)
{
if((it2->first ==it1->first)&& (it2->second - it1->first<=k))
{
flag=true;
return true;
}
}
return false;
}
};
转载于:https://www.cnblogs.com/lingyi1111/p/5895803.html
本文介绍了一种使用C++实现的算法,该算法能在指定范围内检测数组中是否存在重复元素。通过运用multimap数据结构,算法有效地查找了数值相同且索引间隔不超过给定值k的元素对。
381

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



