标签:
Given an array of integers and an integer k, find out whether there there are two distinct indices i and j in the array such that nums[i] = nums[j] and the difference between i and j is at most k.
Tag:Array Hash Table
class Solution { public: bool containsNearbyDuplicate(vector<int>& nums, int k) { map<int,vector<int> > arrayMap; for(int i=0;i<nums.size();i++){ if(arrayMap.count(nums[i])==0){ vector<int> arrvec; arrvec.push_back(i); arrayMap.insert(pair<int,vector<int> >(nums[i],arrvec)); } else{ int length=arrayMap[nums[i]].size(); if(i-arrayMap[nums[i]][length-1]<=k)//符合条件则返回 return true; else arrayMap[nums[i]].push_back(i); } } return false; } };
标签:
原文地址:http://blog.csdn.net/sxhlovehmm/article/details/46552995