LeetCode Hot100 287.寻找重复数

题目

给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。

假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。

你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。

方法:快慢指针

代码

class Solution {
    public int findDuplicate(int[] nums) {
        int slow = 0, fast = 0;
        do {
            slow = nums[slow];           // 走一步
            fast = nums[nums[fast]];     // 走两步
        } while (slow != fast);
        slow = 0;
        while (slow != fast) {
            slow = nums[slow];
            fast = nums[fast];
        }
        return slow;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/208448.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

干货:如何拯救程序员的苦恼?

本站的同志大多都是IT行业的从业者。今天博主给大家推荐几个帮助程序员解决烦恼的网站,大家一定要收藏哦! 目录 1. 图标平台——ByteDance IconPark 2. 进制转换——so json在线工具 3. 代码高亮——CodeInWord 4. 取名利器——codelf 5. 颜色图签—…

Mac右键添加通过VSCode打开

Mac右键添加通过VSCode打开 1 首先打开自动操作 进入方式 访达 – 应用程序 – 自动操作 2. 选择快速操作 3. 添加 最后 commands保存,可以输入自定义的名称 for f in "$" doopen -a "Visual Studio Code" "$f" done4. 找到保存的快…

引领数据趋势:2023年最值得关注的十大ETL数据集成工具

在这个数据至上的时代,对于以数据为驱动的组织来说,建立一个信息集中的强大源头是成功的关键。众多企业依靠ETL工具来管理和理解它们的数据。 ETL,即提取(Extract)、转换(Transform)、加载&…

Grammarly premium语法检测工具使用方法,及删除检测记录

科研写作神器:Grammarly—语法,标点,单词拼写错误修改。 一、背景 在写英文论文时,作为母语不是英语的我们,不可避免的存在语法错误或笔误,这时就需要Grammarly语法修改软件帮助我们进行修正&#xff0c…

2021年12月14日 Go生态洞察:Go 1.18 Beta 1 发布与泛型的引入

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

优化肠道菌群——对抗肌肉减少和骨质流失

谷禾健康 现代的生活工作方式大多是久坐,户外运动少,导致与骨骼肌肉相关的亚健康症状越来越普遍,覆盖人群越来越广。 例如长时间的低头垂肩的姿势会让竖脊肌处在伸展的位置,进而导致竖脊肌的无力,产生受伤的状况。长时…

Android 滑动按钮(开关) SwitchCompat 自定义风格

原生的SwitchCompat控件如下图&#xff0c;不说不堪入目&#xff0c;也算是不敢恭维了。开个玩笑... 所以我们就需要对SwitchCompat进行自定义风格&#xff0c;效果如下图 代码如下 <androidx.appcompat.widget.SwitchCompatandroid:id"id/switch_compat"android:…

【UGUI】Unity为下拉菜单添加选项(DropDown)

要想控制谁就把谁拿到代码里-获取组件-修改组件参数&#xff08;变量或者方法&#xff09; 代码示例&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro;public class UIcontrol : MonoBehavi…

使用Docker Compose搭建CIG监控平台

CIG简介 CIG监控平台是基于CAdvisor、InfluxDB和Granfana构建的一个容器重量级监控系统&#xff0c;用于监控容器的各项性能指标。其中&#xff0c;CAdvisor是一个容器资源监控工具&#xff0c;用于监控容器的内存、CPU、网络IO和磁盘IO等。InfluxDB是一个开源的分布式时序、时…

老司机们这样“玩”STM32的,你学会了吗?

老司机们这样“玩”STM32的&#xff0c;你学会了吗&#xff1f; 不要去学STM32。我不是说STM32不好&#xff0c;而是这种为了学习单片机而去学习单片机的思路不对。 你问&#xff0c;如何系统地入门学习stm32&#xff1f; 本身就是一个错误的问题。假如你会使用51 &#xff0…

c/c++概念辨析-指针常量常量指针、指针函数函数指针、指针数组数组指针

概念澄清&#xff1a; 统一规则&#xff1a; 不管是XX指针&#xff0c;还是指针XX&#xff0c;后者是本体&#xff0c;前者只是个定语&#xff0c;前者也可以替换为其他同类&#xff08;例如字符串&#xff09;&#xff0c;帮助理解。 XX指针&#xff1a; 可简单理解为&#…

在 S/4HANA、ECC 和 ERP 上轻松扩展或简化 SAP WM,并将其自动化到移动环境中

为您的 SAP WM 提供完整的本地 SAP 图形用户界面 基于原生通道架构&#xff08;NCA&#xff09;&#xff0c;iOS、Android 和手持 Scanguns 版 Liquid UI 可与 SAP WM 原生连接&#xff0c;同时保留 SAP GUI 丰富的事务处理功能。它使您无需编程即可直接从移动设备访问 MIGO、…

【数据结构】初识排序 直接插入排序

初识排序 & 直接插入排序 &#x1f41f;排序在现实中的应用&#x1f41f;排序的概念&#x1f41f;常见的排序算法&#x1f41f;直接插入排序&#x1f4a6;举例--直接插入排序在现实种的应用&#x1f4a6;单趟直接插入排序讲解&#x1f4a6;直接插入排序算法 &#x1f41f;排…

快金数据获评2023德勤深圳高科技高成长20强

近日&#xff0c;由德勤中国与深圳市商业联合会共同主办的“2023德勤深圳高科技高成长20强”榜单评选揭晓活动与颁奖盛典在深圳市南山区隆重举行。快金数据作为运力数据生态及运力场景解决方案领域的建设者与引领者&#xff0c;凭借多年企业级物流综合数字化技术创新与持续高质…

Nacos作为配置中心的一些知识二

11292327 问&#xff1a;客户端发请求给Nacos服务端&#xff0c;服务端这边会进行哪些处理&#xff1f; 答&#xff1a;客户端发请求给Nacos 服务端 &#xff0c;服务端这边通过ConfigController类的309行的listener方法&#xff0c;进行处理 第一步 获取客户端请求的文件的…

rust中动态数组Vec的简单使用

在Rust中&#xff0c;Vector&#xff08;简称Vec&#xff09;是一个动态数组数据结构&#xff0c;它可以动态地增加或减少其容量。Vec是Rust标准库中的一个常见类型&#xff0c;非常适合用于存储和操作一系列相同类型的值。 Vec其实是一个智能指针&#xff0c;用于在堆上分配内…

oracle FUNCTION(任意两个时间 之间的工作小时)

写函数计算 任意两个时间 之间的工作小时 每天工作时间&#xff08;8:00 - 20:00 共12小时&#xff09;&#xff0c;没有休息日 CREATE OR REPLACE FUNCTION SC_YD_DESI.CALCULATE_WORK_HOURS_FUNC (p_current_time IN DATE,p_order_time IN DATE ) RETURN NUMBER ASp_work_hou…

OPCUA:打造高效智能工厂的利器

传统工业生产模式中的核心要素之一即是人&#xff0c;通过人的工作和劳动实现商品的产生&#xff0c;在这个过程中&#xff0c;人作为关键生产要素&#xff0c;其在生产环节中的覆盖面不仅包括了传统的狭义的重复性生产过程&#xff0c;更是涵盖有包括记录、预警、沟通和组织等…

[数据结构]深入浅出讲解二叉树-平衡二叉树-左右旋转

树是一种数据结构&#xff0c;单位为Node(节点)。不同于链表的直线排列&#xff0c;树呈现一种自上而下的分层排序规则。 树->数据结构&#xff1a; 单元为Node(节点)->当这样的节点多了 就可以关联出不同的形态 一个父节点有一个左子节点&#xff0c;有…

windows 如何卸载证书

1、windows r 2、输入 certmgr.msc 3、进入证书管理&#xff0c;选择个人 4、选择个人---找到要删除的证书&#xff0c;删除 就可以了。