[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
  • 1430

【leetcode】219. Contains Duplicate II

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

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

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
  • 143

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...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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