码迷,mamicode.com
首页 > 其他好文 > 详细

Contains Duplicate II - LeetCode

时间:2015-10-24 14:20:16      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] = nums[j] and the difference between i and jis at most k.

思路:用set记录每个数字,对于距离超过k的从set中擦出。

 1 class Solution {
 2 public:
 3     bool containsNearbyDuplicate(vector<int>& nums, int k) {
 4         int n = nums.size();
 5         set<int> check;
 6         for (int i = 0; i < n; i++)
 7         {
 8             if (i > k) check.erase(nums[i - k - 1]);
 9             if (check.count(nums[i])) return true;
10             check.insert(nums[i]);
11         }
12         return false;
13     }
14 };

 

Contains Duplicate II - LeetCode

标签:

原文地址:http://www.cnblogs.com/fenshen371/p/4906716.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!