Leet Code OJ 219. Contains Duplicate II [Difficulty: Easy]

来源:互联网 发布:淘宝运营在家上班 编辑:程序博客网 时间:2024/05/16 06:04

题目:
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.

翻译:
给定一个整数数组和一个整数k,找出是否存在下标i,j使得nums[i] = nums[j],同时i,j的差值小于等于k。

分析:
遍历数组,使用map存储每个值最近一次出现的下标。

代码:

public class Solution {    public boolean containsNearbyDuplicate(int[] nums, int k) {        Map<Integer,Integer> map=new HashMap<>();        for(int i=0;i<nums.length;i++){            Integer value=map.get(nums[i]);            if(value!=null&&i-value<=k){                return true;            }else{                map.put(nums[i],i);            }        }        return false;    }}
1 0
原创粉丝点击