leetCode 219. Contains Duplicate II 数组
219. Contains Duplicate II
Given an array of integers and an integerk, find out whether there are two distinct indicesiandjin the array such thatnums[i] = nums[j]and the difference betweeniandjis at mostk.
题目大意:
找到数组中两个相同元素,如果这两个元素的距离小于等于k,则返回true。如果任意两个相同元素的距离都大于k,或者没有两个元素是相同的,那么返回false。
代码如下:
classSolution{public:boolcontainsNearbyDuplicate(vector<int>&nums,intk){unordered_map<int,int>myMap;for(inti=0;i<nums.size();i++){if(myMap.find(nums[i])==myMap.end()){myMap.insert(pair<int,int>(nums[i],i));}else{if(i-myMap[nums[i]]<=k){returntrue;}elsemyMap[nums[i]]=i;}}returnfalse;}};
2016-08-12 01:54:29
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。