LeetCode -- Contains Duplicate II

原创 2015年11月21日 10:11:41
题目描述:
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 j is at most k.


在一个数组nums中试着找到两个数nums[i]和nums[j],其中,i与j的距离要小于等于k。如果找到,返回true,否则返回false。


思路:


一次遍历num[i...n),哈希存每个数的位置,如果nums[i]已经出现,就判断上次出现的位置与当前位置的距离是否小于等于k。如果是,返回true;否则,更新Hash[nums[i]]的位置=i。






实现代码:




public class Solution {
    public bool ContainsNearbyDuplicate(int[] nums, int k) 
    {
        var hash = new Dictionary<int, int>();
    	for(var i = 0;i < nums.Length; i++){
    		if(!hash.ContainsKey(nums[i])){
    			hash.Add(nums[i],i);
    		}
    		else{
    			if(Math.Abs(hash[nums[i]] - i) <= k){
    				return true;
    			}
    			else{
    				hash[nums[i]] = i;
    			}
    		}
    	}
    	
    	return false;
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

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

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

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

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 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 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]: 219. Contains Duplicate II

1.题目Given an array of integers and an integer k, find out whether there are two distinct indices i a...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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