您的位置:首页 > 大数据 > 人工智能

<easy>LeetCode Problem -- 219. Contains Duplicate II

2018-02-06 16:58 1046 查看
描述: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 absolute difference between i and j is at most k.

分析:与217. Contains Duplicate相比,这道题是在寻找数组中重复元素的基础上加了一个限定条件,要求相同元素之间的距离最大为k。

思路一:用unordered_map存储值和数组下标,调用find函数进行寻找。

class Solution {
public:
bool containsNearbyDuplicate(vector<int>& nums, int k) {
unordered_map<int, int> my_map;
for (int i = 0; i < nums.size(); i++) {
if (my_map.find(nums[i]) != my_map.end() && i - my_map[nums[i]] <= k) return true;
my_map[nums[i]] = i;
}
return false;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: