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

wap网站开发和自适应博客用wordpress对吗

wap网站开发和自适应,博客用wordpress对吗,网站开发与维护专员岗位职责,我想接加工单题目描述#xff1a; 给你一个未排序的整数数组 nums #xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1#xff1a; 输入#xff1a;nums [1,2,0] 输出#xff1a;3示例 2#xff1a; 输…题目描述 给你一个未排序的整数数组 nums 请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1 输入nums [1,2,0] 输出3示例 2 输入nums [3,4,-1,1] 输出2示例 3 输入nums [7,8,9,11,12] 输出1提示 1 nums.length 5 * 105-231 nums[i] 231 - 1 通过次数 325.7K 提交次数 749K 通过率 43.5% 思路和题解 设数组长度为n则确实的第一个正数只能在[1,n1]的闭区间 思路一暴力搜索。时间O(n^2),空间O(1)不符合要求 依次判断[1,n]在不在数组里如果不在就返回那个不在的数如果都在就返回n1。代码。 //暴力循环 class Solution { public:int firstMissingPositive(vectorint nums) {int nnums.size();for(int i1;in;i){bool flagfalse;for(int j0;jn;j){if(nums[j]i){flagtrue;break;}}if(!flag) return i;}return n1;} };思路二普通的哈希表。时间O(n),空间O(n)不符合要求。 用一个长度为n的数组来标记[1,n]有没有出现过。 //普通哈希表 class Solution { public:int firstMissingPositive(vectorint nums) {int nnums.size();vectorbool hash(n,false);for(int i0;in;i){//出现了就标记为真if(nums[i]0nums[i]n)hash[nums[i]-1]true;}for(int i0;in;i){if(hash[i]false) return i1;}return n1;} }; 思路三原地哈希表。时间O(n),空间O(1) 思路二是我们能想到的比较好的办法了但是空间复杂度还是不能达到要求那我们怎么来优化这个空间复杂度O(n)呢要知道只用O(n)的时间复杂度也就是只用一层的循环要找出缺失的第一个正数的话不用其他空间来存储正数存在的状态时不可能的。既然必须要用空间来存储一些状态又只能额外使用常数的空间那我们只好拿给定的数组nums作为存储状态的空间。也就是说用原数组nums作为哈希表。 问题是怎么标记一个正数是否出现的状态。对于num0numn的数num在[1,n]之外无论怎么变化都不会改变答案。那就干脆先把数组里所有0的数先变成n1之后再遍历数组把每个[1,n]内的数num对应下标处都改为负数。最后再遍历一遍数组对应元素不为负就说明这个数对应的位置是第一个缺失的正数。 class Solution { public:int firstMissingPositive(vectorint nums) {//原地哈希表//第一个缺失的数只能出现在[1,n1]的闭区间里int nnums.size();for(int i0;in;i){//若出现负数或零或大于n的数那第一个确实的数就在[1,n]if(nums[i]0) nums[i]n1;}for(int i0;in;i){//将[num-1]标记为负表示正数num没有缺失,numn时不用管int numabs(nums[i]);if(numn){nums[num-1]-abs(nums[num-1]);}}for(int i0;in;i){if(nums[i]0) return i1;}return n1;} };
http://www.w-s-a.com/news/302019/

相关文章:

  • 风铃建站模板安卓手机软件开发外包
  • 深圳市住房和建设局门户网站域名转移影响网站访问吗
  • 做母婴网站赚钱汕头百姓网
  • 那个网站建设好动漫制作技术升本可以升什么专业
  • 网站建设企业响应式网站模板广西建设部投诉网站
  • app营销的特点wordpress优化方案
  • 静安网站建设公司如何编辑wordpress
  • 做网站的职位叫什么问题常州金坛网站建设
  • 保健品网站模板用jsp做的网站前后端交互
  • 网站带后台品牌网页设计图片
  • 保定清苑住房和城乡建设局网站分类信息网站程序
  • 可以做视频推广的网站选择大连网站建设
  • 在线网站开发网站在哪里
  • 建站的步骤上海快速优化排名
  • 招聘网站做一下要多少钱网站设计公司 国际
  • 巩义专业网站建设公司首选seo研究院
  • 大流量网站解决访问量友情链接如何添加
  • 教育网站建设网永康市住房和城乡建设局网站
  • 阿里巴巴官网网站django 做网站的代码
  • 网站建设 军报wordpress 订餐模板
  • 网站虚拟主机 会计处理石家庄站建设费用多少
  • 网站建设 服务内容 费用简述网站开发流程
  • 公司制作网站跟企业文化的关系空间制作网站
  • 浙江建设监理协会网站个人网站设计规划书
  • wordpress太卡了贵州seo推广
  • 企业介绍微网站怎么做的手机软件商城免费下载
  • 新手网站设计定价网站开发销售
  • 网站开发公司oa有没有找人做标书的网站
  • 传统门户网站有哪些人武部正规化建设
  • 台州网站制作方案免费无代码开发平台