> 文章列表 > 20230406 存在重复元素。

20230406 存在重复元素。

20230406 存在重复元素。

给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false

示例 1:
输入:nums = [1,2,3,1]
输出:true
示例 2:
输入:nums = [1,2,3,4]
输出:false
示例 3:
输入:nums = [1,1,1,3,3,4,3,2,4,2]
输出:true

方法一:遍历所有元素,判断集合大小和元素大小。

class Solution {public boolean containsDuplicate(int[] nums) {Set<Integer> res = new HashSet<Integer>();//set集合自带去重,将每个元素遍历后,加入res集合//如果res集合的长度小于数组长度,代表数组中存在重复元素,返回true;否则返回falsefor(int num:nums){res.add(num);}return res.size()<nums.length?true:false;}
}

20230406 存在重复元素。
方法二:将数组每个元素遍历给hashset集合,如果在add等于false,代表add了重复元素。

class Solution {public boolean containsDuplicate(int[] nums) {HashSet<Integer> hashSet = new HashSet<>();for (int num : nums) {//add时,如果该元素==false,代表add了重复元素if (hashSet.add(num) == false) {return true;}}return false;}
}