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

dede小说网站模板下载动力无限西安网站建设

dede小说网站模板下载,动力无限西安网站建设,5118网站如何使用免费版,网站域名空间代理1 题目:寻找重复数 官方标定难度:中 2025-04-08 给定一个包含 n 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 &#x…

1 题目:寻找重复数

官方标定难度:中

2025-04-08

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

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

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

示例 1:

输入:nums = [1,3,4,2,2]
输出:2

示例 2:

输入:nums = [3,1,3,4,2]
输出:3

示例 3 :

输入:nums = [3,3,3,3,3]
输出:3

提示:

1 <= n <= 1 0 5 10^5 105
nums.length == n + 1
1 <= nums[i] <= n
nums 中 只有一个整数 出现 两次或多次 ,其余整数均只出现 一次

进阶:

1 如何证明 nums 中至少存在一个重复的数字?
2 你可以设计一个线性级时间复杂度 O(n) 的解决方案吗?

2 solution

这道题是找唯一重复的数字,而且范围是 [1, n],必须 不修改数组 nums 且只用常量级 O(1) 的额外空间。这样就给解决问题提供了一定的难度。再加上进阶要求,线性级时间复杂度 O(n) 。所以不能不能借助其他的结构存储数组。

本文中利用一个数字和一个位置的一一对应关系来解决,即如果不重复且有序的话,那么理论上数字 i 的位置应该为 i - 1。那我们从第一个数 a 开始,找到它正确的位置上的数 b 然后递归此过程,直到碰到了一个循环,如果正好是一个完整的环,则没有问题,因为它们只是交换了位置,此时继续找不在此环中的数即可。但是如果不是,说明有多个数对应同一个位置,则答案就出来了。

怎么标记找过的数?可以改成相反数,最后再改回来即可。
这样就可以在线性时间内找到重复的数,如果找不到,则没有重复的数,满足进阶的条件。

代码

class Solution {
public:int findDuplicate(vector<int> &nums) {int ans = 0;for (int i = 0; i < nums.size(); i++) {if (nums[i] > 0) {int start = i;int x = start;while (nums[x] > 0) {int y = x;x = nums[x] - 1;nums[y] = -nums[y];}if (x != start) {ans = x + 1;break;}}}for (int &i: nums) if (i < 0) i = -i;return ans;
}};

结果

在这里插入图片描述

http://www.dtcms.com/wzjs/558930.html

相关文章:

  • 拆分盘的网站开发费用网站底部浮动广告代码
  • 购物网站开发教程视频济南刚刚发生的大事
  • 做网站有骗子百科网站程序
  • 企业网站推广属于付费wordpress 禁用可视化
  • vip解析网站怎么做怎么给网站做超链接
  • 北京网站制作多少钱广州网站建设 讯度网络
  • 网站开发与编程的区别icp备案 网站备案
  • 湖南省建设信息网站网站建设厃金手指花总十一
  • 建设部网站投诉如何注册定制开发软件产品的税率
  • 个人网站怎么做收款链接最新网页版传奇
  • 建个企业营销型网站建设简单网站的图纸
  • 外贸网站 语言北京网络技术有限公司
  • 网站是自己做还是让别人仿asp.net开发移动网站模板下载
  • 曲靖seo建站wordpress查看全文
  • 新建网站站点的淘宝网电脑版登录入口
  • 怎么做学校网站和微信公众号中天建设集团有限公司董事长
  • 云服务器 可以做网站吗网站建设168
  • 整形网站建设方案策划书海宏集团网站建设方案
  • 企业网站在线超市如何制作个人手机网站
  • 求个网站你会感谢我的建设网站企业邮箱网站建设服务
  • 南宁网站建设公司怎么赚钱中国廉政建设网是正规网站吗
  • 网页制作门户网站案例汕尾北京网站建设
  • django做的网站举例百度指数官方版
  • 软件编程入门先学什么wordpress 网站 seo
  • 如何招聘软件网站开发人员网站优化报价
  • 适合网站开发的python做网站要会编程么
  • 网站安全检测中心wordpress虎嗅
  • 网站开发 北京外包公司做网站的设计公司
  • 纺织行业网站怎么做吸引人wordpress 主题名
  • 厦门网站建设网站建设南宁如何做百度的网站推广