Contains Duplicate III

 

 1 class Solution {
 2 public:
 3     bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) {
 4         vector<pair<long, long>> res;
 5         for(int i=0; i<nums.size(); i++)
 6               res.push_back(make_pair(nums[i],i));
 7               
 8         sort(res.begin(), res.end());
 9         
10         for(int j=0; j<nums.size(); j++)
11         {
12             int most = j+1;
13             while(most<nums.size() && res[most].first-res[j].first<=t)
14             {
15                 if(abs(res[most].second-res[j].second) <= k)
16                        return true;
17                 most++;
18             }
19                     
20         }
21     return false;        
22     }
23 };

 

posted on 2016-05-12 15:28  RenewDo  阅读(112)  评论(0编辑  收藏  举报

导航