Leetcode 217,219,220 存在重复元素套题

Leeetcode 217

import java.util.HashSet;
class Solution {
    public boolean containsDuplicate(int[] nums) {
        HashSet<Integer> map=new HashSet<>();
        for(int num:nums)
        {
            if(map.contains(num))
            {
                return true;
            }else
            {
                map.add(num);
            }
        }
        return false;
    }
}

Leetcode 219

import java.util.HashMap;
class Solution {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        HashMap<Integer,Integer> map=new HashMap<>();
        for(int i=0;i<nums.length;i++)
        {
            if(map.containsKey(nums[i]))
            {
                 if(i-map.get(nums[i])<=k) return true;
            }
            map.put(nums[i],i);
        }
        return false;
    }
}

Leetcode 220

两层for循环

public boolean containsNearbyAlmostDuplicate(int[] nums, int k, int t) {
        long[] longnum=new long[nums.length];
        for(int i=0;i<nums.length;i++)
        {
            longnum[i]=nums[i];
        }
        for(int i=1;i<longnum.length;i++)
        {
           for(int j=Math.max(0,i-k);j<i;j++)
           {
                if(Math.abs(longnum[i]-longnum[j])<=t)return true;
           }
        }
        return false;
    }

平衡二叉树

 public boolean containsNearbyAlmostDuplicate(int[] nums, int k, int t) {
        TreeSet<Long> tree=new TreeSet<>();
        long[] longnum=new long[nums.length];
        for(int i=0;i<nums.length;i++)
        {
            longnum[i]=nums[i];
        }

        for(int i=0;i<longnum.length;i++)
        {
            Long temp = tree.ceiling(longnum[i]);
            if(temp!=null&&Math.abs(longnum[i]-temp)<=t) return true;
            temp=tree.floor(longnum[i]);
            if(temp!=null&&Math.abs(longnum[i]-temp)<=t) return true;
            tree.add(longnum[i]);
            //维护滑动窗口
            if(tree.size()>k) tree.remove(longnum[i-k]);
        }
        return false;
    }
代码总结 文章被收录于专栏

典型的代码,以及自己的想法

全部评论

相关推荐

2025-12-30 16:42
同济大学 C++
仁狂躁使者:哎呀,不用担心,我当时配环境配了两天,项目捋不清就问问导师能不能用ai,慢慢就清了,会好起来的
点赞 评论 收藏
分享
2025-12-03 03:32
安徽大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务