解题思路:
查找反复元素个别应用 set 汇合。
遍历数组
增加前判断 set 里是否曾经有此元素,如果有间接返回 false
没有则持续增加
package com.cyf.array;
// 给定一个整数数组,判断是否存在反复元素。//
// 如果任意一值在数组中呈现至多两次,函数返回 true。如果数组中每个元素都不雷同,则返回 false。//
//
//
// 示例 1:
//
// 输出: [1,2,3,1]
// 输入: true
//
// 示例 2:
//
// 输出: [1,2,3,4]
// 输入: false
//
// 示例 3:
//
// 输出: [1,1,1,3,3,4,3,2,4,2]
// 输入: true
import java.util.*;
/** 给定一个整数数组,判断是否存在反复元素
* @author by cyf
* @date 2020/8/28.
*/
public class containsDuplicateSolution {public static boolean containsDuplicate(int[] nums) {Set<Integer> set = new HashSet();
for (int i = 0; i < nums.length; i++) {if (set.contains(nums[i])){return true;}else {set.add(nums[i]);
}
}
return false;
}
public static void main(String[] args) {int [] nums = {1,2,3,1};
System.out.println(containsDuplicate(nums));
}
}