【Leetcode Algorithm】Contains Duplicate II



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  i and  j  is at most  k .

代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public  class  Solution {
     public  boolean  containsNearbyDuplicate( int [] nums,  int  k) {
         if (k< 0 ){
             return  false ;
         }
         //通过HashMap来比较是否有重复值
         HashMap numsToHashMap =  new  HashMap();
         for ( int  n= 0 ;n<nums.length;n++){
             //如果有重复值且重复值索引之间的差值不大于k,则返回true
             if (numsToHashMap.containsKey(nums[n])&&(n-( int )numsToHashMap.get(nums[n])<=k)){
                 return  true ;
             }
             //否则,则将该值以及其索引存入HashMap
             numsToHashMap.put(nums[n],n);
         }
         return  false ;
     }
}

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  i and  j  is at most  k .

代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public  class  Solution {
     public  boolean  containsNearbyDuplicate( int [] nums,  int  k) {
         if (k< 0 ){
             return  false ;
         }
         //通过HashMap来比较是否有重复值
         HashMap numsToHashMap =  new  HashMap();
         for ( int  n= 0 ;n<nums.length;n++){
             //如果有重复值且重复值索引之间的差值不大于k,则返回true
             if (numsToHashMap.containsKey(nums[n])&&(n-( int )numsToHashMap.get(nums[n])<=k)){
                 return  true ;
             }
             //否则,则将该值以及其索引存入HashMap
             numsToHashMap.put(nums[n],n);
         }
         return  false ;
     }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值