Leetcode217. Contains Duplicate

来源:互联网 发布:大数据教程 pdf 编辑:程序博客网 时间:2024/05/21 20:28

一、题目

Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.

二、思路

给出一个整数数组,如果数组中所有的元素都是不一样的,则返回false;任意两个字母出现两次,则返回true

三、代码

本来使用两层的循环遍历,结果提交是时间超时。

for(int i=0;i<nums.length;i++){
for(int j=i+1;j<nums.length;j++){
if(nums[i]==nums[j])
return false;
}
}
return true;

后来就使用一个set集合,先把数组中的元素放在set集合中,比较集合和数组的长度是否相同。如果相同,则表示数组中元素都是无重复的。

public class Solution {
    public boolean containsDuplicate(int[] nums) {
        if(nums.length==0) return false;
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;
    }
}

原题链接

0 0