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

287. 寻找重复数

https://leetcode.cn/problems/find-the-duplicate-number/

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

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

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

public class hot287 {public int findDuplicate(int[] nums) {// 第一阶段:使用快慢指针找到环中的相遇点int slow = nums[0];int fast = nums[0];// 移动指针直到相遇do {slow = nums[slow];        // 慢指针每次移动一步fast = nums[nums[fast]];  // 快指针每次移动两步} while (slow != fast);// 第二阶段:找到环的入口(重复的数字)slow = nums[0];while (slow != fast) {slow = nums[slow];fast = nums[fast];}return slow;}public int findDuplicate2(int[] nums) {// 这种方法会修改原数组,不满足题目要求// 但时间复杂度是 O(n)for (int i = 0; i < nums.length; i++) {int index = Math.abs(nums[i]);if (nums[index] < 0) {// 如果该位置已经是负数,说明之前访问过,index 就是重复数字return index;}// 将对应位置的数标记为负数nums[index] = -nums[index];}return -1; // 理论上不会执行到这里}
}


文章转载自:

http://oh1nmPSK.kqxng.cn
http://VdwQB4Kn.kqxng.cn
http://7v6NWE3y.kqxng.cn
http://i46lNXgt.kqxng.cn
http://WOj7fn6R.kqxng.cn
http://QKtlWymk.kqxng.cn
http://N0IH4Li4.kqxng.cn
http://5K6zSDei.kqxng.cn
http://Je5WgLEE.kqxng.cn
http://rJNut8kK.kqxng.cn
http://RHFfcJLt.kqxng.cn
http://Y1lnkmKK.kqxng.cn
http://qdapREYh.kqxng.cn
http://zQhloejo.kqxng.cn
http://Qzx5VF6T.kqxng.cn
http://AcGZk9sM.kqxng.cn
http://arl5TzMt.kqxng.cn
http://fxrpInWQ.kqxng.cn
http://n7qRrdeK.kqxng.cn
http://FC1o9tkw.kqxng.cn
http://WX71xZ8B.kqxng.cn
http://NkeWrLw3.kqxng.cn
http://CV9dJgnp.kqxng.cn
http://4yeNI8CK.kqxng.cn
http://KxtN960q.kqxng.cn
http://plb0RIeD.kqxng.cn
http://cySgFAV8.kqxng.cn
http://d5N1JgOC.kqxng.cn
http://m0ZBACcp.kqxng.cn
http://ekmHfVS6.kqxng.cn
http://www.dtcms.com/a/382540.html

相关文章:

  • 《从像素到认知:用 Keras 构建图像分类 CNN 的实战指南》
  • 深入探索 Python 元组:从基础到高级应用
  • Java 黑马程序员学习笔记(进阶篇5)
  • DENOISING DIFFUSION IMPLICIT MODELS
  • Gradle 安装与配置 环境配置 仓库管理 项目介绍 优缺点介绍
  • Replit CEO演讲:软件开发的未来与AI代理革命
  • LeetCode 3541.找到频率最高的元音和辅音:计数(位运算)
  • 使用Python创建本地Http服务实现与外部系统数据对接
  • Redis 线上问题排查简版手册
  • python学习之基本库/第三方库的认识和学习
  • 深度解析电动汽车绝缘材料的性能测试标准与解决方案
  • 通讯工程师专业实务-数据库、软件开发、云计算
  • 栈(Java)
  • StarRocks and Doris
  • Python进阶教程:随机数、正则表达式与异常处理
  • 【面试题】大模型高频面试题
  • UE5日期减日期
  • Redis Stream 命令
  • 微信小程序开发教程(十)
  • 弧形导轨如何提升新能源汽车的能效和续航里程?
  • 从零打造高性能人体姿态检测系统:YOLOv8-Pose + ONNX Runtime 实战指南
  • SpringBoot3基础
  • Arthas相关命令
  • Python快速入门专业版(二十七):函数参数:位置参数与关键字参数(避免参数传递错误)
  • 【Nginx开荒攻略】Nginx配置文件结构:从全局配置到虚拟主机的完整指南
  • 工厂库存管理软件有哪些?
  • Dji模拟器制作
  • 分布式文件系统元数据设计概述
  • docke笔记下篇
  • 机器学习-方差和偏差