- 题目描述
- 示例
- 示例一
- 示例二
- 示例三
- 代码实现
- 实现思想
虽然本科期间学习过数据结构和算法设计课程,但是手写算法对我来说一直是我最惧怕的事情,今天终于鼓起勇气开始了算法的刷题历程。未来还长,请继续努力! 题目描述
- 一个整数数组 nums 。
- 如果任一值在数组中出现了至少两次,返回 true 。
- 如果数组中每个元素互不相同,返回 false 。
输入:nums = [1,2,3,1]
输出:true
输入:nums = [1,2,3,4]
输出:false
输入:nums = [1,1,1,3,3,4,3,2,4,2]
输出:true
class Solution {
public boolean containsDuplicate(int[] nums) {
HashSet set = new HashSet();
for(int i = 0; i < nums.length; i++){
set.add(nums[i]);
}
if(set.size()!=nums.length){
return true;
}else{
return false;
}
}
}
实现思想
- 因为Set集合具有不可重复的特性,所以博主使用for循环先将nums数组中的所有元素添加到Set集合中,Set集合会自动将重复的元素去掉,不会重复添加,最后再对Set集合的大小与数组长度进行判断。
- 如果两个值相等,则说明nums数组中并不存在相同的元素,返回false。
- 如果两个值不等,则说明nums数组中有相同的元素,返回true。



