解题思路:
查找反复元素个别应用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));
}
}
发表回复