美文网首页小猿刷题
「算法」存在重复元素 & 存在重复元素 II

「算法」存在重复元素 & 存在重复元素 II

作者: 林昀熙 | 来源:发表于2020-01-11 09:17 被阅读0次

00217 存在重复元素

题目描述

给定一个整数数组,判断是否存在重复元素。

如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。

示例 1:

输入: [1,2,3,1]
输出: true

示例 2:

输入: [1,2,3,4]
输出: false

示例 3:

输入: [1,1,1,3,3,4,3,2,4,2]
输出: true

力扣地址

解题报告

本题解由微信公众号小猿刷题提供, 错误之处, 欢迎指正.

使用散列表判断是否存在或者去重判断总长度都可以

  • 遍历过程中判断
/**
 *  微信公众号"小猿刷题"
 */
public boolean containsDuplicate(int[] nums) {
    Set<Integer> set = new HashSet<>(nums.length);
    for (int x: nums) {
        if (set.contains(x)) {
            return true;
        }
        set.add(x);
    }
    return false;
}
  • 遍历完成后判断
/**
 *  微信公众号"小猿刷题"
 */
public boolean containsDuplicate(int[] nums) {
    Set<Integer> set = new HashSet();
    for(int i = 0; i < nums.length; i ++){
        set.add(nums[i]);
    }
    return set.size() != nums.length;
}
小猿刷题

00219 存在重复元素 II

题目描述

给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 ij,使得 nums [i] = nums [j],并且 ij 的差的绝对值最大为 k

示例 1:

输入: nums = [1,2,3,1], k = 3
输出: true

示例 2:

输入: nums = [1,0,1,1], k = 1
输出: true

示例 3:

输入: nums = [1,2,3,1,2,3], k = 2
输出: false

力扣地址

解题报告

本题解由微信公众号小猿刷题提供, 错误之处, 欢迎指正.

/**
 *  微信公众号"小猿刷题"
 */
public boolean containsNearbyDuplicate(int[] nums, int k) {
   Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    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;
}
小猿刷题

相关文章

  • 「算法」存在重复元素 & 存在重复元素 II

    00217 存在重复元素 题目描述 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数...

  • 存在重复元素 II

    题目: 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = ...

  • 存在重复元素 II

    题目描述 难度级别:简单 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nu...

  • 219. 存在重复元素 II

    219. 存在重复元素 II 哈希暴力俩for会tle的

  • 2019-07-11 LeetCode

    2019-07-11 414 第三大的数219 存在重复元素II

  • LeetCode 217 存在重复元素.md

    题目描述 关键点 存在重复元素, 返回true, 不存在重复元素返回false 利用HashMap 不存在重复ke...

  • 存在重复元素

    leetcode

  • 存在重复元素

    题面: 给定一个整数数组nums,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数...

  • 存在重复元素

    题目描述 难度级别:简单 Given an array of integers, find if the arra...

  • 存在重复元素

    给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不...

网友评论

    本文标题:「算法」存在重复元素 & 存在重复元素 II

    本文链接:https://www.haomeiwen.com/subject/uxkxactx.html