題目
給定一個(gè)整數(shù)數(shù)組,判斷是否存在重復(fù)元素。
如果任何值在數(shù)組中出現(xiàn)至少兩次,函數(shù)返回 true。如果數(shù)組中每個(gè)元素都不相同,則返回 false。
示例 1:
輸入: [1,2,3,1]
輸出: true
傳送門:LeetCode 217
思路
- 使用hashset判斷是否重復(fù)
- add方法有返回值,如果添加重復(fù)元素,添加失敗返回false;反之則為true。
import java.util.Arrays;
import java.util.HashSet;
public class ContainsDuplicate {
// time : O(n) space : O(n)
public static boolean containsDuplicate(int[] nums) {
HashSet<Integer> set = new HashSet<>();
for (int i = 0; i < nums.length; i++) {
if (!set.add(nums[i])) return true;//add方法有返回值,如果添加重復(fù)元素,添加失敗返回false;反之則為true。
}
return false;
}
public static void main(String[] args){
int [] nums = {1,1,1,3,3,4,3,2,4,2};
System.out.println(containsDuplicate(nums));
}
}