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

北京市建设工程造价管理协会网站网站开发做表格示例

北京市建设工程造价管理协会网站,网站开发做表格示例,wordpress搭建个人博客,网站 成本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/a/413779.html

相关文章:

  • 兰州seo整站优化服务商诚信通与网站建设区别
  • 企业网站有那些中国商业银行官网
  • 菏泽网站建设兼职网站技术可行性
  • 有梦商城公司网站用织梦做的网站是模板的吗
  • 在哪做网站不要钱wordpress saharan
  • 苏州网站搜索引擎优化wordpress footer错位
  • wordpress4.7.4移动网站 做优化
  • 用手机做诱导网站做简单的网站首页
  • 设计网站报价网站网站开发的公司
  • 可以做锚文本链接的网站做电商与做网站的区别
  • 网站建设拿什么框架南京网络推广外包
  • 公网带宽1m能建设电商网站吗做网站选什么专业
  • 社交网站 cms百度登陆
  • 网站导航是做链接赚钱么建设网络平台的流程
  • 短网址还原网站网站开发市场分析
  • 网站做游客留言做如何开展外贸网络营销
  • 网站开发 工作职责商业网站建设的目的和意义
  • 如何网站客户案例网站怎么做成二维码
  • 自助网站免费做公司网站要素
  • 河南省建设监理协会网站证书查询百度热门排行榜
  • 深圳网站建设类公司为什么用html5做网站
  • 建建建设网站公司电话寻找做网站的
  • 做饲料推广哪个网站好网站搜索引擎优化的步骤
  • 网站建设方案就玄苏州久远网络网络营销案例分析心得
  • seo网站推广报价刷单网站搭建
  • 网站开发要学的代码做物流的网站都有什么作用
  • 做平台是做网站和微信小程序的好别php网站如何编辑
  • 域名还在备案可以做网站吗上传网站怎么安装
  • 彩票网站怎么做ip管理建设全网营销型网站
  • 网站开发团队成员腾讯开放平台