最基本的判断数组中是否存在重复元素。
以时间代价为标准的做法是利用一个数据结构O(n)大小的来保存所有出现的元素,遍历数组,当重复出现返回true,时间代价是O(n)的。
以空间为标准的做法是先将数组排序,当出现临近元素相同时返回true。时间代价是O(lgn)的,空间代价是O(1)。
public class Solution {
public boolean containsDuplicate(int[] nums) {
Set<Integer> s = new HashSet<Integer>();
for( int i=0;i<nums.length;i++ )
{
if(s.contains(nums[i]))
{
return true;
}
s.add(nums[i]);
}
return false;
}
}