当前位置: 首页 > article >正文

LeetCode217——存在重复元素

LeetCode217——存在重复元素

1.题目描述:

给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。

在这里插入图片描述

2.Result01(暴力解)

两层for循环:

public static boolean containsDuplicate(int[] nums) {
        //暴力解 会超时
        for (int i = 0; i < nums.length; i++) {
            for (int j = i + 1; j < nums.length; j++) {
                if (nums[i] == nums[j]) {
                    return true;
                }
            }
        }
        return false;
    }

结果是对的,但是时间复杂度O(N2)跑出来会超时哈哈哈。
在这里插入图片描述

3.Result02(先排序、后比较)

在这里插入图片描述
相对于暴力解来说降低了时间复杂度。

 public static boolean containsDuplicate(int[] arr){
        //先排序 在比较 一次for就行
        Arrays.sort(arr);
        for (int i = 0; i < arr.length-1; i++) {
            if (arr[i]==arr[i+1]){
                return true;
            }
        }
        return false;
    }

4.Result03(哈希)

在这里插入图片描述

Set集合中 无序 且 不能存在重复元素 利用这一特性解决此题。

在这里插入图片描述
相对于排序后在比较的解法,哈希法又降低了时间复杂度——(O(N))。

public static boolean containsDuplicate(int[] arr){
        //Set集合无序 且 不能有重复元素!
        HashSet<Integer> hashSet = new HashSet<Integer>();
        for (int i:arr) {
            if (! hashSet.add(i)){//add()方法的返回值是boolean类型的  成功添加 true 未成功 false
                return true;
            }
        }
        return false;
    }

http://www.kler.cn/a/107362.html

相关文章:

  • 鸿蒙HarmonyOS 地图不显示解决方案
  • 代码修改材质参数
  • 【2024软考架构案例题】你知道 Es 的几种分词器吗?Standard、Simple、WhiteSpace、Keyword 四种分词器你知道吗?
  • 【嵌入式开发】单片机CAN配置详解
  • JQuery封装的ajax
  • 【真题笔记】21年系统架构设计师案例理论点总结
  • 【PG】PostgreSQL字符集
  • 1-径向基(RBF)神经网络PID控制器仿真
  • 如何使用python快速修改Excel表单中的大量数据
  • python常用操作汇总
  • 华为NAT配置实例(含dhcp、ospf配置)
  • Java项目中将MySQL改为8.0以上
  • RabbitMQ-死信交换机和死信队列
  • Vue2 跨域问题报错AxiosError net::ERR_FAILED、 Network Error、ERR_NETWORK
  • 基于单片机的智能清洁小车设计—控制系统设计
  • GienTech动态|入选软件和信息技术服务名牌企业;荣获城市数字化转型优秀案例;参加第四届深圳国际人工智能展
  • 基于 ARM+FPGA+AD平台的多类型同步信号采集仪开发及试验验证(一)上位机设计
  • Java流(Stream)详解
  • tomcat必要的配置
  • Centos使用tomcat部署jenkins
  • cola架构:有限状态机(FSM)源码分析
  • jenkins如何安装?
  • 基于SpringBoot+Vue的服装销售系统
  • Python深度学习实战-基于Sequential方法搭建BP神经网络实现分类任务(附源码和实现效果)
  • 基于GPIO子系统编写LED驱动,编写应用程序进行测试设置定时器,5秒钟打印一次hello world
  • 软考 系统架构设计师系列知识点之设计模式(4)