LeetCode 217. Contains Duplicate

217.Contains Duplicate(存在重复元素)

链接

https://leetcode-cn.com/problems/contains-duplicate/

题目

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

如果任何值在数组中出现至少两次,函数返回 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

思路

就是想办法找到重复的数,建议用偷懒的方法减少复杂度。

1.set数据结构,直接把数组中的数装进去,查看两者长度差,得到结果。

2.快排,然后遍历比较前后两个数是否相同,得到结果。

代码

1
2
3
4
5
6
7
8
9
10
11
 public static boolean containsDuplicate(int[] nums) {
Set<Integer> ans = new HashSet<Integer>();
for (int i : nums) {
ans.add(i);
}
if (ans.size() == nums.length) {
return false;
} else {
return true;
}
}
---本文结束,感谢阅读---