LeetCode 217. Contains Duplicate

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zjxxyz123/article/details/79959818

问题描述

  • 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.
  • 地址

问题分析

  • 用额外空间:
    set来判重,O(N)
  • 不用额外空间
    先排序。然后固定一个数,对剩下的数进行二分查找 O(NlogN)

代码实现

class Solution {
    public boolean containsDuplicate(int[] nums) {
        if (nums == null || nums.length == 0) {
            return false;
        }
        HashSet<Integer> set = new HashSet<>();
        for (int i = 0; i < nums.length; i++) {
            if (! set.add(nums[i])) {
                return true;
            }
        }
        return false;
    }
}
阅读更多

没有更多推荐了,返回首页