Contains Duplicate II

原创 2015年07月08日 10:49:13

1 题目描述

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.

题目出处:https://leetcode.com/problems/contains-duplicate-ii/

2 解题思路

1.题意:在|i - j| <= k的条件下,判断是否存在nums[i] = nums[j]。

2采取的方法是:设置起始和结束标记:start与end。对于每个元素,如果在前k个元素中有,则退出;如果没有则加入,并调整start与end。


3 源代码

package com.larry.easy;

import java.util.HashSet;

public class ContainsDuplicateII {
	public boolean containsNearbyDuplicate(int[] nums, int k) {
		HashSet<Integer> hs = new HashSet<Integer>();
		int start = 0, end = 0;
		for(int i = 0; i < nums.length; i++){
			boolean conts = hs.contains(nums[i]);
			if(conts) return true;
			else{
				hs.add(nums[i]);
				end++;
				if(end - start > k) {
					hs.remove(nums[start]);
					start++;
				}
			}
		}
        return false;
    }
}


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...

[LeetCode] Contains Duplicate(II,III)

Contains DuplicateGiven an array of integers, find if the array contains any duplicates. Your functi...

#219 Contains Duplicate II

题目: Given an array of integers and an integer k, find out whether there there are two distinct in...

leetcode--Contains Duplicate II

Contains Duplicate II

【leetcode】Array——Contains Duplicate II(219)

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

219. Contains Duplicate II

这道题目类似上道题目217,考查的主要是hash表的用法。 描述: Given an array of integers and an integer k, find out whether th...

【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

判断一个数组中一定范围内是否有相同的数字
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Contains Duplicate II
举报原因:
原因补充:

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