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;
    }
}


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

相关文章推荐

217, 219,220. Contains Duplicate I, II, III

Given an array of integers, find if the array contains any duplicates. Your function should return ...

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

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

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

219. Contains Duplicate II [easy] (Python)

题目链接https://leetcode.com/problems/contains-duplicate-ii/题目原文 Given an array of integers and an int...

【Leetcode Algorithm】Contains Duplicate II

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

[Java]Contains Duplicate II 包含重复数字

leetcode 原题链接: https://leetcode.com/problems/contains-duplicate-ii/ Given an array of integers and ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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