题目:
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 jis at most k.
链接: http://leetcode.com/problems/contains-duplicate-ii/
2/25/2017, Java
1 public class Solution { 2 public boolean containsNearbyDuplicate(int[] nums, int k) { 3 if (nums.length == 0) return false; 4 HashMap<Integer, Integer> h = new HashMap<Integer, Integer>(); 5 int index = 0; 6 7 for (int i = 0; i < nums.length; i++) { 8 if (h.containsKey(nums[i])) { 9 index = h.get(nums[i]); 10 if (i - index <= k) return true; 11 h.put(nums[i], i); 12 } else { 13 h.put(nums[i], i); 14 } 15 } 16 return false; 17 } 18 }
原文:http://www.cnblogs.com/panini/p/6443554.html