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

酷站欣赏安卓手机性能优化软件

酷站欣赏,安卓手机性能优化软件,东莞市外贸网站建设多少钱,厦门商城网站建设41.缺失的第一个整数 项目场景: 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出:3…

41.缺失的第一个整数 

项目场景:

给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。

请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。

示例 1:

输入:nums = [1,2,0]
输出:3
解释:范围 [1,2] 中的数字都在数组中。

示例 2:

输入:nums = [3,4,-1,1]
输出:2
解释:1 在数组中,但 2 没有。

示例 3:

输入:nums = [7,8,9,11,12]
输出:1
解释:最小的正数 1 没有出现。

提示:

  • 1 <= nums.length <= 105
  • -231 <= nums[i] <= 231 - 1


问题描述

        求缺失的第一个整数,如果nums[i]对应的元素小于0或者大于n将此时的值置为0因为此时这个元素肯定不是缺失的正数。第二个循环为原地哈希,如果对hash_size求余不为0说明数组中存在这个数,将元素值对hash_size取余之后减1为索引,说明此时nums[i]对应的元素出现过,取余加上hash_size是为了既能保留原始信息,也能说明元素已经出现过了。最后遍历数组,如果条件不符合则返回i+1为缺失的整数,因为i为索引。

class Solution:def firstMissingPositive(self, nums: List[int]) -> int:n=len(nums)hash_size=n+1for i in range(n):if nums[i]<=0 or nums[i]>=hash_size:nums[i]=0for i in range(n):if nums[i]%hash_size!=0:pos=(nums[i]%hash_size)-1nums[pos]=(nums[pos]%hash_size)+hash_sizefor i in range(n):if nums[i]<hash_size:return i+1return hash_size

        以上为本篇文章的全部内容,感谢你抽出宝贵的时间阅读这篇文章。如果你有任何疑问或建议,欢迎在评论区留言,我们一起交流进步。愿你的代码之路越走越顺,生活充满阳光! 

http://www.dtcms.com/wzjs/66576.html

相关文章:

  • 科讯cms 网站地图百度知道提问
  • 电脑上做网站的软件广告公司接单软件
  • 可以做兼职笔译的网站企业快速建站
  • 网站建设中毒怎么办如何进行搜索引擎优化
  • 网站制作收费明细表网站页面设计
  • 政府部门网站作用武汉千锋教育培训机构怎么样
  • 东莞艺美网站建设seo基础入门教程
  • 网站开发和c语言如何在网上推广自己的产品
  • 商务部网站直销企业名单百度一下 你就知道官方
  • icp备案查询工信部seo的搜索排名影响因素有哪些
  • 网站优化软件下载网络营销的方式有哪些
  • 建设网站的重要意义信息流推广渠道
  • 修水网站建设百度app下载官方免费最新版
  • 网站的搜索框如何做软件制作平台
  • 公司网站功能模块深圳网络推广市场
  • 珠海网站建设公司提升关键词排名软件哪家好
  • 网站行程表怎么做google推广专员招聘
  • 网站和平台是一个意思吗外贸推广如何做
  • 免费做企业推广的网站网站推广策划思路的内容
  • 网站建设网页设计培训班网站统计分析平台
  • 企业网站源码去一品资源网百度一下你就知道首页
  • ecshop网站模版郑州seo线上推广技术
  • 成都网站seo推广长沙今日头条新闻
  • 网站运营与管理实验报告app开发公司推荐
  • 厦门做网站需要多少钱营销平台建设
  • 不用php做网站适合网络营销的产品
  • 小白如何搭建个人网站seo综合查询工具下载
  • wordpress 图书模板太原百度seo排名软件
  • 怎么做网站的内链外链网络推广好做吗
  • 深圳网站建设响应式seo行业