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

电商模板网站免费网站模板网

电商模板网站,免费网站模板网,网站的开发工具,申请域名有什么用代码 测试用例 测试用例 测试结果 41. 缺失的第一个正数 已解答 困难 相关标签 相关企业 提示 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1&#xf…

代码

测试用例

测试用例

测试结果

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
class Solution(object):def firstMissingPositive(self, nums):""":type nums: List[int]:rtype: int"""# 得到最大值,正数最小值# 不能排序,因为排序nlogn#  只能利用原本的数字存储了for i ,val in enumerate(nums):while nums[i]>0  and  nums[i]<=len(nums) and nums[i]!=i+1 and nums[nums[i]-1] != nums[i]:temp = nums[i]nums[i] = nums[temp-1]nums[temp-1] = tempfor i in range(len(nums)):if nums[i]!=i+1:return i+1return len(nums)+1

首先题目的要求是空间为常熟

所以不能使用hash表

那么我们只能用原本的数组去处理了

所以我们的方法是把符合条件的正整数也就是1-》len(nums)的数放到他的值减一的下标处,这样遍历一遍就知道少了哪个了。

需要考虑多种情况

1. 当你把一个数换过去之后,换回来的数还需要继续换,所以我们的for里面用while处理

2. 当你把数换过来之后可能那个地方本来就已经有一个数占据位置了,也就是[1,1]的情况,这样会导致死循环,所以你需要把这种情况当做看不见。因为放到原处,也是一个不合理值,反正要放到的地方已经有合理值了。

http://www.hrbkazy.com/news/28605.html

相关文章:

  • 南京哪里有做公司网站的今天发生的重大新闻5条
  • 做线下活动的网站推广方案设计
  • 做村易通网站站长要收费吗?市场营销毕业论文
  • 川海丰尚麻辣烫加盟费多少网站关键词优化的步骤和过程
  • 国产做网站腾讯朋友圈广告投放价格
  • 做视频能赚钱的网站seo视频教程百度云
  • 网站建设合同编号培训平台
  • 高新区手机网站建设百度正版下载并安装
  • 运城网站建设公司有多少钱推广信息哪个平台好
  • 建网站需要什么手续长沙seo 优化选智投未来no1
  • ps怎么做响应式网站布局图营销推广活动策划方案
  • 互联网建网站百度推广计划
  • 深圳福田区住房和建设局官方网站站长工具四叶草
  • 日本网站空间饥饿营销的十大案例
  • 网站管理 上传模板南昌seo推广公司
  • 怎么得到wordpress文章加图片网站建设优化公司
  • 网站源码是用什么做的百度关键词搜索排行
  • 做网站的是什么基本seo
  • 国家商标注册官网查询系统网站搜索引擎优化方法
  • 怎么给网站做百度坐标定位网络营销策划书5000字
  • 泉州网站建设电话微信推广链接怎么制作
  • 做资讯类网站需要什么资质成全在线观看免费高清动漫
  • 网站建设有名的公司中央电视台一套广告价目表
  • 购物网站建设网络营销师证书查询
  • 想找人帮我做网站营销推广渠道有哪些
  • 营销的网站营销软文模板
  • 泰安房产网签成交数据百度搜索seo优化技巧
  • 万网建站教程西安网站开发制作公司
  • icp许可证查询系统seo到底是做什么的
  • 免费申请空间网站精准营销的案例