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

【hot100-java】【寻找重复数】

技巧

使用字典,边记录边比较,有直接输出。

def findDuplicate(nums):
    seen = {}
    for num in nums:
        if num in seen:
            return num
        seen[num] = True
    return None

 可惜不是O(1)

二分查找

class Solution {
    public int findDuplicate(int[] nums) {
         int left=0;
         int right=nums.length-1;
         while(left<right){
            int mid=(left+right)/2;
            int count=0;
            for (int num:nums){
                if(num<=mid){
                    count++;
                }
            }
            if(count<=mid){
                left=mid+1;
            }
            else{
                right=mid;
            }
         }
         return left;
    }
}

 


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

相关文章:

  • 在 CentOS 7 上安装 MinIO 的步骤
  • 2411rust,76~79
  • 鸿蒙网络编程系列48-仓颉版UDP回声服务器示例
  • Ubuntu 22.04.4 LTS + certbot 做自动续签SSL证书(2024-11-14亲测)
  • 创建vue3项目步骤
  • 《Java核心技术 卷I》用户界面中首选项API
  • springboot电影售票系统小程序—计算机毕业设计源码36991
  • C++那些事之内存优化
  • Matlab_与CANoe联合仿真方案基础环境搭建
  • 基于微信小程序的美食外卖管理系统
  • 南沙C++信奥赛陈老师解一本通题 1269:【例9.13】庆功会
  • phpstudy简易使用
  • 基于OpenCV的实时年龄与性别识别(支持CPU和GPU)
  • AI多模态基础知识点:LLM小白也能看懂的分词(tokenization)解读
  • Zookeeper下载、安装配置
  • 从画质设置看游戏引擎(其一)
  • 正点原子阿波罗STM32F429IGT6移植zephyr rtos(二)---使用I2C驱动MPU6050
  • 使用apipost工具导入通过swag生成的golang接口文档步骤
  • 思科安全网络解决方案
  • FIOT/浙江信达可恩消防股份有限公司25周年庆典隆重召开
  • 【JavaEE初阶】网络原理
  • 大盘点|9月独家爆款SVG模版(互斥伸长、扑克出牌、预感应滑动等)
  • 【C#生态园】构建高效PDF应用:全面解析C#六大PDF生成库
  • Linux date命令(用于显示和设置系统的日期和时间,不仅可以显示时间,还能进行复杂的时间计算和格式化)
  • 苍穹外卖学习笔记(十四)
  • 【JavaEE】——CAS指令和ABA问题