给你一个整数数组 `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 ``` **提示:** - `1 <= nums.length <= 105` - `-109 <= nums[i] <= 109` **代码:** ```java class Solution { public boolean containsDuplicate(int[] nums) { Arrays.sort(nums); for(int i=1;i integerSet = new HashSet<>(); for (int num : nums) { integerSet.add(num); } return integerSet.size() != nums.length; } } ``` Loading... 给你一个整数数组 `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 ``` **提示:** - `1 <= nums.length <= 105` - `-109 <= nums[i] <= 109` **代码:** ```java class Solution { public boolean containsDuplicate(int[] nums) { Arrays.sort(nums); for(int i=1;i<nums.length;i++){ if(nums[i]==nums[i-1]){ return true; } } return false; } } ``` 基本上是先排序在做比较,这种很直接,但是很慢,很暴力。 在看别人怎么做的时候忽然看见个去重比较长度的。不禁感叹思路千奇百怪。 ```java class Solution { public boolean containsDuplicate(int[] nums) { Set<Integer> integerSet = new HashSet<>(); for (int num : nums) { integerSet.add(num); } return integerSet.size() != nums.length; } } ``` 最后修改:2024 年 11 月 04 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏