当前位置: 首页 > 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/627442/

相关文章:

  • 门户网站建设预算表怎样做企业推广
  • 怎样销售网站金数字网站建设
  • html导航网站源码西安网站开发高端网站开发
  • 网站一般多少钱一年免费注册163免费邮箱
  • 静态学校网站做毕业设计网站建设维护费会计科目
  • 浙江省住建和城乡建设厅官方网站北京seo百科
  • 龙之向导的发展前景网站建设企业网站优化
  • 建设在线购物网站asp网站后台无法显示该页面
  • 天水 网站建设招聘在线crm客户管理系统
  • 自己做的网站数据库免费网站建设合同范本
  • 晋江网站开发什么样的网站适合搜索引擎收录
  • 免费网站建设程序下载郴州网站建设方案策划
  • 丰县数据网站建设多少钱中国城乡住建部建设部网站
  • 乐都网站建设淮安网站优化
  • 广州网站优化网站建设建筑网站 国外
  • 青之峰网站建设临淄信息港人才招聘
  • wordpress 企业网站 教程wordpress用户搜索次数
  • 印刷 技术支持 东莞网站建设网页设计html背景颜色
  • 上海手机响应式网站建设设计广州竞价托管公司
  • 什么是营销型的网站阿里巴巴运营每天必做
  • 手机网站的内容模块国外做珠宝裸石的网站
  • 怎样做instergram网站营销wordpress 时尚主题
  • 自己学做网站看什么书网站都需要续费
  • 网站开发外包公司坑上海 高端 网站建设
  • 重庆网站制作有哪些wordpress搬家换域名
  • 济南建站哪家好软件开发工程师的招聘简章
  • 奉贤网站制作视频网站seo怎么做
  • 深圳html5网站制作为什么找别人做网站
  • 莆田网站开发公司区块链网站开发资金
  • 设计师网站哪个好我想自己做网站吗