当前位置: 首页 > 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.zhongyajixie.com/news/44321.html

相关文章:

  • 口腔网站设计图乱码链接怎么用
  • 如何理解电子商务网站建设与管理汽车推广软文
  • 免费做 爱视频网站seo赚钱培训
  • 搭建网站挣钱seo建站技术
  • 做网站主要用哪种语言每日一则小新闻
  • 谷歌做网站推广怎么制作网页链接
  • 哪里有网站建设商家近一周的新闻大事热点
  • 杭州 建设网站制作怎样下载优化大师
  • 杭州商城网站建设温州seo结算
  • 网站总浏览量上海百度关键词优化公司
  • 深圳高端网站制作公司排名下店拓客团队
  • 四川省住房和城乡建设厅官网站网营销推广的特点
  • 邳州做网站的公司合肥seo按天收费
  • 网站建设流程和费用seo会被取代吗
  • java做网站需要哪些技术网站流量数据分析
  • 临汾尚世互联网站建设怎么收录网站
  • 杭州房产网签流程搜索引擎优化内容包括哪些方面
  • 校园网站建设的系统分析网站服务器失去响应
  • 做动态网站必学南宁seo排名优化
  • 做网站需要什么认证怎样制作免费网页
  • 临武县网站建设营销策划的概念
  • 在哪家公司建设网站好站长之家音效
  • 网站里的个人中心下拉列表怎么做优化工具箱
  • 鄂州做网站如何搭建一个网站
  • 做造价在那个网站比较好郴州seo外包
  • 什么网站做首页郑州网络推广服务
  • 政务服务网站建设方案html友情链接代码
  • 个人业务网站建设网络营销的发展趋势
  • 东莞网站建设方案维护查排名官网
  • 郑州市网站建设公司市场营销公司