题目:
给定一个整数数组,判断是否存在重复元素。
如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。
思路:
涉及数组中元素的次数,一般会想到利用哈希表记录元素个数。同时此题也可先排序,再比较相邻元素是否有相同。
代码:
1.哈希表:
1 | public boolean containsDuplicate(int[] nums) { |
2.排序:
1 | public boolean containsDuplicate1(int[] nums) { |
复杂度分析及总结:
1.哈希表:
时间复杂度:
O(n)。
空间复杂度:
O(n)。
2.排序:
时间复杂度:
O(nlogn)。
空间复杂度:
O(1)。