zoukankan      html  css  js  c++  java
  • Contains Duplicate 解答

    Question

    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.

    Solution 1 HashMap

    Time complexity O(n), space cost O(n)

     1 public class Solution {
     2     public boolean containsDuplicate(int[] nums) {
     3         Map<Integer, Integer> counts = new HashMap<Integer, Integer>();
     4         int length = nums.length;
     5         if (length <= 1)
     6             return false;
     7         for (int i = 0; i < length; i++) {
     8             if (counts.containsKey(nums[i]))
     9                 return true;
    10             else
    11                 counts.put(nums[i], 1);
    12         }
    13         return false;
    14     }
    15 }

    Solution 2 Set

    Time complexity O(n), space cost O(n)

     1 public class Solution {
     2     public boolean containsDuplicate(int[] nums) {
     3         int length = nums.length;
     4         if (length <= 1)
     5             return false;
     6         Set<Integer> set = new HashSet<Integer>();
     7         for (int i : nums) {
     8             if (!set.add(i))
     9                 return true;
    10         }
    11         return false;
    12     }
    13 }
  • 相关阅读:
    php
    php
    linux 网络管理基础 OSI ISO IOS的区别
    Linux 添加交换分区的步骤
    linux 命令
    linux命令
    linux 命令
    linux 命令
    Linux命令
    linux命令- 挂载命令 mount
  • 原文地址:https://www.cnblogs.com/ireneyanglan/p/4799829.html
Copyright © 2011-2022 走看看