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 public boolean containsDuplicate(int[] nums) { 2 Set<Integer> ans = new HashSet<Integer>(); 3 for(int i:nums) 4 ans.add(i); 5 if(ans.size()==nums.length) 6 return false; 7 else 8 return true; 9 }