Leetcode-217-Contains Duplicate
程序员文章站
2022-06-03 10:37:53
...
Contains Duplicate
来自 <https://leetcode.com/problems/contains-duplicate/>
Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.
题目解读
给定一个整型数组,判断数组中是否含有重复的数。如果数组中存在元素至少出现两次,则返回true,否则如果数组中的每个元素都是不同的,则返回false。
解析:
解法一:首先将数组中的元素进行排序,然后判断数组中是否存在两个相邻的数组元素相同。如果存在,则返回true,否则返回false。
解法二:
使用set,因为set中的元素都是不相同的,所以逐个取出数组中的元素放入到set中,在放入set之前,先判断set中是否包含此元素,如果包含则返回true.否则将其加入到set中。直到数组中所有的元素全部添加至set中。返回false。
解法一代码:
public boolean containsDuplicate(int[] nums) {
if(null == nums)
return false;
Arrays.sort(nums);
for(int i=nums.length-1; i>0; i--)
if(nums[i] == nums[i-1]) {
return true;
}
return false;
}
解法一性能:
解法二代码:
public boolean containsDuplicate(int[] nums) {
if(null == nums)
return false;
Set<Integer> result = new HashSet<Integer>();
for(int i=0; i<nums.length; i++) {
if(result.contains(nums[i]))
return true;
else
result.add(nums[i]);
}
return false;
}
解法二性能:
上一篇: Leetcode-219-Contains Duplicate II
下一篇: 13:大整数的因子
推荐阅读
-
laravel - php向mysql执行insert时,提示“mysql duplicate key”,如何处理?
-
使用RMAN的DUPLICATE克隆Oracle 10g R2数据库的输出
-
mysql error:#1062 Duplicate entry ‘***′ for key 1问题解决
-
Contains Duplicate III
-
mysql error:#1062 Duplicate entry ‘***′ for key 1问题解决方法
-
Mysql中Insert into xxx on duplicate key update问题
-
mysql #1062 –Duplicate entry '1' for key 'PRIMARY'
-
mysql error:#1062 Duplicate entry ‘***′ for key 1问题解决方法
-
mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDATE )
-
mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDATE )