Contains Duplicate II
来源:互联网 发布:时间轴源码 编辑:程序博客网 时间:2024/06/06 21:01
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; }}
0 0
- Contains Duplicate && Contains Duplicate II
- [LeetCode]Contains Duplicate II
- Contains Duplicate II
- [LeetCode] Contains Duplicate II
- leetcode Contains Duplicate II
- LeetCode Contains Duplicate II
- [leetcode] Contains Duplicate II
- LeetCode Contains Duplicate II
- LeetCode219:Contains Duplicate II
- #219 Contains Duplicate II
- 219. Contains Duplicate II
- 【leetcode】Contains Duplicate II
- leetcode--Contains Duplicate II
- 219Contains Duplicate II
- Contains Duplicate II
- Contains Duplicate II
- Contains Duplicate II
- Leetcode_219 Contains Duplicate II
- 悟空学Linux专栏----第5篇
- Markdown
- android 签名查看的命令
- 门面(Facade)模式
- 云计算平台最核心的五项技术
- Contains Duplicate II
- libevent学习资料
- NSString的length方法特别之处
- 悟空学Linux专栏----第6篇
- C#程序设计开发总结(猜猜看游戏开发)
- Android Studio设置或更改SDK
- 解决SuperMap Objects Java 在Tomcat中运行时提示找不到Wrapj的问题
- mmap使用
- Linux 下 ngnix 搭建 http 服务器