import java.util.HashSet;
import java.util.Set;
public class LeetCode_1 {
public static void main(String[] args) {
int[] arr = {2,23,2,3,3,2,3,4,4,5,6,7,};
int[] arr1 = {2,5,3,6,4,9};
boolean b = LeetCode_1.containsDuplicate(arr);
boolean b1 = LeetCode_1.containsDuplicate(arr1);
System.out.println(b+" "+b1);
}
//封装一个方法,用于判定是否相等
public static boolean containsDuplicate(int[] nums){
//写法一:利用集合中的元素不重复,比较集合的长度是否和数组的长度相等
//创建集合
Set<Integer> set = new HashSet<>();
//遍历数组将元素放入集合,由于集合不能存储相同的数据,所以相同的元素不会被放入
for (int i = 0; i < nums.length; i++) {
set.add(nums[i]);
}
//比较长度
if (set.size()==nums.length)
return false;
else
return true;
//写法二:两次遍历,不建议,因为时间复杂度的存在
// boolean flag;
//第一次遍历从第数组的一个遍历到最后一个元素
// for (int i = 0; i < nums.length; i++) {
// //第二次遍历,从后一个元素开始遍历
// for (int j = i+1; j < nums.length-1; j++) {
// if (nums[i] == nums[j]){
// return flag=true;
// }
// }
//
// }
// return flag = false;
}
}
判定数组元素是否相等的两种方法
最新推荐文章于 2024-03-28 11:18:30 发布