第一天 - 数组
1️⃣存在重复元素
题目:给你一个整数数组 nums
。如果任一值在数组中出现 至少两次 ,返回 true
;如果数组中每个元素互不相同,返回 false
。
思路:本题需要在数组中判断是否存在不同元素,使用Java语言编写时,容易想到使用HashSet来帮助解决
概念:
-
- HashSet类,是存在于java.util包中的类 。
- 同时也被称为集合,该容器中只能存储不重复的对象。对于 HashSet 而言,它是基于 HashMap 实现的,底层采用 HashMap 来保存元素。
- 该方法如果添加的是在 HashSet 中不存在的,则返回 true;如果添加的元素已经存在,返回 false。其原因在于我们之前提到的关于 HashMap 的 put 方法
题解:
class Solution {
public boolean containsDuplicate(int[] nums) {
Set<Integer> set = new HashSet<Integer>();
for(Integer i : nums){
if(!set.add(i)) {
return true;
}
}
return false;
}
}
另解:将数组排序后,逐一比较相邻元素是否相同,但该算法效率低
标签:false,HashMap,HashSet,元素,力扣,入门篇,数组,true,刷题 From: https://www.cnblogs.com/fengdeyuangu/p/17149405.html