方法一:使用排序
按照从大到小排序后,相同的元素一定相邻,因此···
归纳一下Arrays类的常见方法,里面包括了一系列静态方法,用于管理和操作数组
Arrays.sort(arr)
1.默认排序就是从小到大排序
2.自定义排序
具体的排序方法和源码分析见笔记
Arrays.toStringt(arr) 返回数组的字符串形式
Arrays.binarySearch(arr) 二叉查找
Arrays.copyof(arr) 拷贝原数组长的元素到新数组,多余的用空补上
Arrays.asList(arr) 将数据转成集合再返回
Arrays.fill(arr) t替换原来所有元素
class Solution {
public boolean containsDuplicate(int[] nums) {
Arrays.sort(nums);
for(int i = 0; i < nums.length; i++){
if(nums[i] == nums[i+1]){
return true;
}
}
return false;
}
}
方法二:哈希表
存在相同元素插不进去
class Solution {
public boolean containsDuplicate(int[] nums) {
Set<Integer> set = new HashSet<Integer>();
for (int x : nums) {
if (!set.add(x)) {
return true;
}
}
return false;
}
}
来源:力扣(LeetCode)