问题描述:
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
解法:
一开始想到用Set,但太耗时。换一种思路,先将数组排序(使用java Arrays的sort函数),再遍历数组若有连续两个数相同则返回true,反之亦然。
public 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;
}
}