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

岳阳做网站短网址链接生成

岳阳做网站,短网址链接生成,集团网站建设特点,国际新闻网站平台有哪些这个算法的核心思想是通过交换操作,将每个数放到它应该在的位置上。然后再次遍历数组,找到第一个不在正确位置上的数,其索引加一即为缺失的最小正整数。 def first_missing_positive(nums):n len(nums)# 第一次遍历,将数组中的每…

这个算法的核心思想是通过交换操作,将每个数放到它应该在的位置上。然后再次遍历数组,找到第一个不在正确位置上的数,其索引加一即为缺失的最小正整数。

def first_missing_positive(nums):n = len(nums)# 第一次遍历,将数组中的每个数放到正确的位置上for i in range(n):while 1 <= nums[i] <= n and nums[nums[i] - 1] != nums[i]:nums[nums[i] - 1], nums[i] = nums[i], nums[nums[i] - 1]# 第二次遍历,找到第一个不在正确位置上的数,即为缺失的最小正整数for i in range(n):if nums[i] != i + 1:return i + 1# 如果数组中所有数都在正确位置上,则缺失的是数组长度+1return n + 1

这个算法的时间复杂度是 O(n),因为每个数最多进行两次交换操作,而且只进行了两次遍历。额外空间复杂度是 O(1),因为只使用了常数级别的额外空间。

原地哈希算法的原理是通过修改输入数据本身,将数据映射到正确的位置上,从而完成一些特定的操作。在具体的场景中,原地哈希算法通常用于解决一些空间复杂度受限制的问题,以达到在常数级别的额外空间内完成操作的目的。

for i in range(n):while 1 <= nums[i] <= n and nums[nums[i] - 1] != nums[i]:nums[nums[i] - 1], nums[i] = nums[i], nums[nums[i] - 1]
  1. 在这一步中,如果 nums[i] 不在正确的位置上,并且它应该在的位置上的数不等于它,就进行交换。

  2. 第二次遍历:找到第一个不在正确位置上的数,即为缺失的最小正整数。

  3. for i in range(n):
        if nums[i] != i + 1:
            return i + 1
     

 在这一步中,如果 nums[i] 不等于 i + 1,说明 i + 1 是缺失的最小正整数。

这样,通过两次遍历和原地交换的方式,就可以在常数级别的额外空间内找到未排序整数数组中缺失的最小正整数。

原地哈希算法通常涉及到将数据按某种规则重新排列,以满足问题的要求,而不需要额外的数据结构来存储中间结果。

http://www.dinnco.com/news/77503.html

相关文章:

  • 淘宝客网站开发视频商业软文代写
  • 网站验证码怎么做的广东广州网点快速网站建设
  • 哪个免费建站好社交媒体推广
  • 伊犁做网站百度收录在线提交
  • 黄冈网站建设当下最流行的营销方式
  • 公众号登录平台官网关键词优化排名查询
  • 潍坊网站推广长沙营销推广
  • 2022麻豆区区区三区四区北京网站优化公司
  • 泉做网站的公司郑州seo关键词优化公司
  • 福州推广企业网站seo免费培训视频
  • 这么自己建设网站网站优化排名提升
  • 视频网站建设方案百度一下首页网页百度
  • 怎样用zblog做网站用手机制作自己的网站
  • 网站安全检测在线百度推广登陆平台登录
  • 网站尾部一般怎么做爱采购seo
  • 产品外观设计报价衡阳网站优化公司
  • 网站链接到邮箱怎么做常用的网站推广方法
  • phpcms 网站打不开如何搭建个人网站
  • 做网站会员推广哪个好济南百度竞价代运营
  • 网站建设公司报价淘宝推广方式
  • alipay域名网站网络销售怎么做
  • 网站权限怎么设置方法新手怎么做电商运营
  • 中英文网站建设用两个域名广告营销留电话网站
  • 网站后台怎么做友情链接免费百度广告怎么投放
  • 网站建设的方案书网络营销ppt案例
  • 做订阅号要建立网站吗seoul
  • 郑州网站建设开发公司最新中国新闻
  • 南京cms模板建站卢松松外链工具
  • 怎样做网站上的语种链接seo外包费用
  • 网站密码如何找回密码网络营销策划案怎么写