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

上海个人医疗网站备案表东莞市优速网络科技有限公司

上海个人医疗网站备案表,东莞市优速网络科技有限公司,有没有什么做地堆的网站,贵州省建设网官方网站题目: 解题一: 如果不考虑时间复杂度和空间复杂度的话,我们最先想到的办法是先将该数组进行排序和去重,将最初的res结果值设置为1;将然后进行遍历,如果第一项不为1,则返回1,否则根…

题目:在这里插入图片描述

解题一:

如果不考虑时间复杂度和空间复杂度的话,我们最先想到的办法是先将该数组进行排序和去重,将最初的res结果值设置为1;将然后进行遍历,如果第一项不为1,则返回1,否则根据遍历res++;遍历结束后发现每一项都符合要求则返回res的最终值。代码如下:

代码一:

/*** @param {number[]} nums* @return {number}*/
var firstMissingPositive = function(nums) {nums = Array.from(new Set(nums));nums.sort((a,b)=>a-b);let res = 1;for(let i = 0; i < nums.length;i++){if(nums[i] > 0){if(nums[i] != res){return res;}res++;}}return res;
};

‌sort函数的时间复杂度为O(n log n),空间复杂度为O(n)
‌new Set操作的时间复杂度是O(n),空间复杂度也是O(n)‌
以上代码并没有满足题目要求的时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。

解题二:

我们这次使用了一个Set(numSet)来存储数组中出现过的正数。首先,我们遍历原数组nums,将每个在1到n范围内的正数添加到Set中。然后,我们再次遍历从1到n的每个数字,检查它是否在Set中出现过。如果找到一个没有出现过的数字,我们就返回它作为缺失的第一个正整数。如果所有1到n的数字都出现过,我们则返回n+1。

代码二:

/*** @param {number[]} nums* @return {number}*/
var firstMissingPositive = function(nums) {let numSet = new Set();let n = nums.length;for(let i = 0; i < n;i++){if(nums[i] > 0 && nums[i] <= n){numSet.add(nums[i]);}}for(let i = 1; i <= n;i++){if(!numSet.has(i)){return i;}}return n + 1;
};

但是我们使用了一个额外的Set来存储出现过的数字,所以这里的空间复杂度为O(n);时间复杂度是O(n),因为我们只遍历了数组两次,并且Set的查找和插入操作都是O(1)的。

解题三:

将所有负数、0 都变为 N + 1,我们只需要考虑1-n的数字
遍历每个数,如果该数 |x| 属于[1,N];把在 x-1 的位置的数加上一个负号
遍历完之后,如果全部数都是负数——答案就是 1+N,否则就是第一个正数的位置+1

代码三:

/*** @param {number[]} nums* @return {number}*/
var firstMissingPositive = function(nums) {let n = nums.length;for(let i = 0; i < n;i++){if(nums[i] <= 0) nums[i] = n + 1;}for(let i = 0; i < n;i++){let x = Math.abs(nums[i]);if(x >= 1 && x <= n){nums[x - 1] = nums[x - 1] < 0 ? nums[x - 1] : -nums[x - 1];}}for(let i = 0; i < n;i++){if(nums[i] >= 0) return i+1;}return n + 1;
};

此时就满足时间复杂度为o(n),空间复杂度为常数的代码了。此思路借鉴于力扣博主okkjoo,具体地址点击此处跳转。

当博主问朋友解决方案的时候,他二话不说的告诉我“用桶排啊!!”,于是,、、、、这篇文章到这里没有结束,,明天博主会尽快将桶排的方法补充上去,也欢迎小伙伴们在评论区留下你们的答案哦~~~~~

http://www.dt0577.cn/news/41970.html

相关文章:

  • 搭建php网站环境海南网站建设
  • 地图截选做分析图的网站品牌营销策划怎么写
  • 整站优化报价常见的网络营销方法
  • 品牌网站建设j小蝌蚪j免费b站在线观看人数在哪里找到
  • 海南房产网站开发优化大师怎么提交作业
  • 先做网页设计还是先弄网站新闻类软文
  • 苏州企业网站优化中国新闻社
  • 中山企业网站建设方案2023近期舆情热点事件
  • 汕头网站推广制作怎么做百度搜索风云榜排行榜
  • 柳州做网站seo哪家好关键字c语言
  • 一个服务器下怎么做两个网站企业网站推广渠道
  • 最新十堰疫情封城情况网站内容优化怎么去优化呢
  • 中山做网站哪家便宜优化seo软件
  • 商城网站建设系统网站排名优化培训哪家好
  • 眉山招聘网站建设网站建设方案优化
  • dw超链接自己做的网站网站推广软件下载安装免费
  • 线上推广图片太原seo排名优化公司
  • 邯郸做网站哪里好百度seo公司一路火
  • 漳州做网站配博大钱少a互联网营销师证书是国家认可的吗
  • 帝国网站模版seo网站关键词优化怎么做
  • 有什么可以做翻译的网站吗福州百度推广排名优化
  • 网站制作一般要几天怎么制作网站详细流程
  • 跨境独立站收款方式站长工具是做什么的
  • seo自带 网站建设超八成搜索网站存在信息泄露问题
  • 115做网站seo的最终是为了达到
  • 百度网站备案怎么做百度推广运营
  • 有代码怎么做网站如何建立自己的网站?
  • wordpress带商城主题seo搜索引擎优化方案
  • 做网站中的镜像是什么百度公司官网招聘
  • 云计算培训机构简述seo和sem的区别与联系