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

毕节网站建设兼职连云港北京网站建设

毕节网站建设兼职,连云港北京网站建设,企业自己怎么制作网站首页,文山网站建设公司链接: 剑指 Offer 03. 数组中重复的数字 题意: 如题 解: 看到一个很牛的时间复杂度O(n)的原地算法:由于数组长度n,数组内只有0到n-1,那么,我们用对应-n到-1表示nums[index]出现过一次&…

链接:

剑指 Offer 03. 数组中重复的数字

题意:

如题

解:

看到一个很牛的时间复杂度O(n)的原地算法:由于数组长度n,数组内只有0到n-1,那么,我们用对应-n到-1表示nums[index]出现过一次,-2n到-n-1表示出现两次

具体是怎么做呢,我们遍历数组,遇到的下标x的数字t,对于nums[t]我们就减去n,表示t出现了,如果t>x那它就修改了还没遍历到的数字,但是当我们遍历到t的时候,如果发现他处于-n到-1的区间,那么我们完全可以依靠+n还原它的数值,使后序操作正常进行,如果t<x那么就更好说了,因为nums[t]已经使用过了,可以直接用来标记数字出现

同时,我们知道原数组只有0和正数,所以当我们要减操作的时候,发现原目标nums[t]已经小于0,那么t就是答案

实际代码:

#include<bits/stdc++.h>
using namespace std;
int findRepeatNumber(vector<int>& nums)
{int lg=nums.size();for(auto& num:nums){int temp=num;if(temp<0) temp+=lg;//还原数值 if(nums[temp]<0) return temp;nums[temp]-=lg;}return 0;
}
int main()
{vector<int> nums;int num;while(cin>>num) nums.push_back(num);int ans=findRepeatNumber(nums);cout<<ans<<endl;return 0;
}

限制:

  • 2 <= n <= 100000
http://www.yayakq.cn/news/883509/

相关文章:

  • 自动化设备东莞网站建设7k7k小游戏大全网页版
  • 怎么样制作网站网站建设推荐华网天下
  • 做内贸的有哪些网站全国企业信息公示系统查询入口里
  • 智慧物流企业网站建设方案广州市番禺人才网
  • 制作网站的布局网络东莞市阳光网首页
  • 云南网站建设肖庆华需要证书的建筑公司网站
  • 网站建设服务方案ppt模板下载海南发展
  • 台州市环保局网站开发区logo设计在线生成免费下载
  • 可以找厂家的网站郑州小程序制作流程及费用
  • 网站建设服务流程广西建设厅网站资质查询
  • 商务网站建站网络游戏下载
  • 丰台网站制作浩森宇特crm软件系统的构成包括
  • 做超链接的网站给企业做网站需要什么信息
  • 医学网站建设方案网站是公司域名是个人可以
  • 旅游网站技术流程图安装下载app
  • 百度广告联盟网站网站网络设计是怎么做的
  • 成都营销型网站公司电话成都有什么好玩的景点推荐
  • 网站移动端开发需要哪些技术网站文章怎么更新
  • 网站遇到攻击时应该怎么做wordpress只允许登陆
  • 商务网站建设与维护(专21春)嘉兴信息网站
  • 德州建设网站公司夜月直播app下载视频
  • 建站记录查询wordpress 安装主题 无法调用图片和颜色
  • 外吐司做的阿里巴巴的网站上海注册
  • 中国建设银行湖北省分行网站兖州网站建设
  • 个体户可以做网站吗北京系统开发
  • 赣榆区城乡建设局网站做公司 网站
  • 宁津 做网站wordpress自带轮播
  • 南昌做网站哪家专业商务
  • 制作小程序和网站的公司建立企业门户网站建设
  • 网站的seo相关指标ppt制作最常用软件