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

广东建设厅网站查询聚通装潢口碑好不好

广东建设厅网站查询,聚通装潢口碑好不好,钟星建设集团网站,成都短视频制作培训班缺失的第一个正数 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出:3 解释:范围 [1,…

缺失的第一个正数

给你一个未排序的整数数组 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 <= 10e5
  • -2e31 <= nums[i] <= 2e31 - 1

可惜捏,只能想到用hashmap做个o(n)额外空间的做...(开辟空间了但是速度快hhh

class Solution:def firstMissingPositive(self, nums: List[int]) -> int:  # Me!hashmap = {}for i in range(len(nums)):if nums[i] not in hashmap:hashmap[nums[i]] = 1 for i in range(len(nums)+1):if i+1 not in hashmap:return i+1

想不到O n 1 的做法,看看大佬的做法吧,原地数组,将元素交换至(元素-1)下标的位置 

随后从头往后寻找对应不起来的位置,然后返回就好了

class Solution:def firstMissingPositive(self, nums: List[int]) -> int:  def swap(nums,a,b):tmp = nums[a]nums[a] = nums[b]nums[b] = tmp# 原地数组!nbfor i in range(len(nums)):while 1<=nums[i]<=len(nums) and nums[i]!=nums[nums[i]-1]:swap(nums,nums[i]-1,i)for i in range(len(nums)):if nums[i]!=i+1:return i+1return len(nums)+1

http://www.yayakq.cn/news/137693/

相关文章:

  • 威龙电子商务做的网站如何查询营业执照注册信息
  • 阳江房产网站企业网站建设安阳
  • 网站售后电商网站基本功能
  • 商城开发网站建设开发lnmp wordpress 登陆
  • 做关于什么内容的网站学校官网查询入口
  • 视频素材库网站下载2020互联网公司排名
  • 增加网站收录上海网站建设公司排行
  • 常熟做网站推广的vs2012建设网站
  • 云南网站开发公司介绍加强普法网站和普法网络集群建设
  • 惠州网站建设找惠州邦搜索引擎排名原理
  • 哪个网站可以找做软件兼职的中国招标信息公开网
  • 泰安网站建设流程宿迁市建设局网站维修基金
  • 电子商务网站设计实践报告做网站和app怎么跑业务
  • 做网站具体流程关闭wordpress注册邮件
  • ps里新建网站尺寸怎么做企业网站设计建设
  • 潍坊住房和城乡建设厅网站电话移动 开发 网站建设
  • 东莞公司企业设计网站建设wordpress 表单数据
  • 网站上传源码后怎么弄河南省二级建造师报名入口官网
  • wordpress pc站m站西安php网站建设
  • 竞价网站做推广方案网站怎么优化呢
  • html5响应式网站psd系统优化的方法知识点
  • 网站创建时间查询自媒体是做什么的
  • 肇庆免费模板建站三门峡市建设局网站
  • 网站怎么做动态图公司门户网站的意义
  • 微信公众号外链接网站开发基于诗歌网站开发开题报告
  • 传媒公司网站制作上海知名网站建设
  • 苏州网站制作的公司分类信息免费发布网
  • 开网站需要哪些程序wordpress dms
  • 建设网络课程平台费用嘉兴seo
  • wordpress 公众号登录界面优化工具箱下载