LeetCode – 219. Contains Duplicate II

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

public class Solution {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        if(nums.length <1) return false;
        if(k <1) return false;
        int i = 0;
        int j = k < nums.length ? k :nums.length -1;
        while(i<j && j<nums.length){
            if(nums[i] != nums[j]){
                i++;
            }
            else{
                return true;
            }
            if(i==j){
               i = i-k+1;
                j++;  
            }
        }
        return false;
    }
}

邮件订阅,随时获取更新信息

发表评论

电子邮件地址不会被公开。

This site uses Akismet to reduce spam. Learn how your comment data is processed.