zoukankan      html  css  js  c++  java
  • leetcode第217.题存在重复元素

    1.题目描述

    给定一个整数数组,判断是否存在重复元素。

    如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。

    2.示例

    2.1

      输入: [1,2,3,1]

      输出: true

    2.2

      输入: [1,2,3,4]

      输出: false

    2.3

      输入: [1,1,1,3,3,4,3,2,4,2]

      输出: true

    3.代码示例

    3.1

      首先,我们可以使用最暴力的解法,循环判断通过两次for循环进行嵌套,就可以解出来。

     1 class Solution {
     2     public boolean containsDuplicate(int[] nums) {
     3         boolean flag = false;
     4         for (int i = 0; i < nums.length; i ++) {
     5             for(int j = i+1; j < nums.length; j ++) {
     6                 if (nums[i] == nums[j]) {
     7                     flag = true;
     8                     break;
     9                 }
    10             }
    11         }
    12     return flag;    
    13     }  
    14 }

    3.2

      他的时间和空间消耗如图3-1。

                    图3-1

    4.我自己的代码

    4.1

      我是利用java提供的类集框架Set的API做的,Set<Integer> set = HashSet<>();

    set.add(E e):返回boolean型,如果此 set 中尚未包含指定元素,则添加指定元素;

    如果此 set 已包含该元素,则该调用不更改 set 并返回 false。

     1 class Solution {
     2     public boolean containsDuplicate(int[] nums) {
     3        Set<Integer>  set = new TreeSet<>();
     4         for (int i = 0; i < nums.length; i ++) {
     5             set.add(nums[i]);
     6         }
     7         if(set.size() != nums.length) {
     8             return true;
     9         }
    10         return false;
    11     }
    12 }

    4.2

      他的时间和空间消耗如图4-1。

    图4-1

  • 相关阅读:
    ftp的基本工作原理
    ubuntu自带输入法ibus 无法按数字键取词
    C语言教程
    【数据结构】---线性表
    python搭建opencv
    第六届Code+程序设计网络挑战赛
    整除分块
    ac自动机
    算法梳理 (CSP 2019
    lougu main page
  • 原文地址:https://www.cnblogs.com/xiaofei1/p/10794079.html
Copyright © 2011-2022 走看看