[leetcode][hash] Contains Duplicate II

原创 2015年07月08日 15:46:06

题目:

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 iand j is at most k.

维护一个长度为k的窗口

class Solution {
public:
    bool containsNearbyDuplicate(vector<int>& nums, int k) {
	if (nums.size() < 2 || k <= 0) return false;
	int start = 0, end = 0;
	set<int> hashTable;
	hashTable.insert(nums[0]);
	for (int i = 1; i < nums.size(); ++i){
		set<int>::iterator iter = hashTable.find(nums[i]);
		if (iter != hashTable.end()) return true;
		hashTable.insert(nums[i]);
		end = i;
		if (end - start == k){
			hashTable.erase(nums[start]);
			++start;
		}
	}
	return false;
}
};


相关文章推荐

LeetCode 217 Contains Duplicate(包含重复数字)(Vector、hash)

翻译给定一个整型数字数组,找出这个数组是否包含任何重复内容。如果任何值出现了至少两次,那么返回真(true),如果每个值都是互不相同的,那么返回假(false)。原文Given an array of...
  • NoMasp
  • NoMasp
  • 2016年01月12日 14:41
  • 1542

【leetcode】219. Contains Duplicate II

一、题目描述 Given an array of integers and an integer k, find out whether there are two distinct indic...

LeetCode | Contains Duplicate II

Given an array of integers and an integer k, find out whether there there are two distinct indices ...

LeetCode笔记:219. Contains Duplicate II

判断一个数组中一定范围内是否有相同的数字

【Leetcode Algorithm】Contains Duplicate II

Given an array of integers and an integer k, find out whether there there are two distinct indices...

leetcode笔记--Contains Duplicate I & II & III

Contains Duplicate 题目:难度(Easy) Given an array of integers, find if the array contains any duplicat...

leetcode之Contains Duplicate II 问题

问题描述: Given an array of integers and an integer k, find out whether there are two distinct indicesi...

leetcode: (219) Contains Duplicate II

【Question】 Given an array of integers and an integer k, find out whether there are two distinct ind...
  • zk031
  • zk031
  • 2015年08月28日 20:50
  • 176

LeetCode 之 Contains Duplicate I II III — C++ 实现

Contains Duplicate   Given an array of integers, find if the array contains any duplicates. Your fu...

Leetcode 219. Contains Duplicate II

Given an array of integers and an integer k, find out whether there are two distinct indices i and j...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[leetcode][hash] Contains Duplicate II
举报原因:
原因补充:

(最多只允许输入30个字)