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

惠州做网站公司南宁网站建设及推广

惠州做网站公司,南宁网站建设及推广,厦门网站制作公司找哪家,2017两学一做网站这个算法的核心思想是通过交换操作,将每个数放到它应该在的位置上。然后再次遍历数组,找到第一个不在正确位置上的数,其索引加一即为缺失的最小正整数。 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.wangmingla.cn/news/39273.html

相关文章:

  • 网站开发工作介绍软文营销的成功案例
  • 像乐视做硬件的视频网站竞价推广开户电话
  • 怎么提高网站的收录东营seo整站优化
  • 在工商局网站做年报要交费吗seo文章推广
  • wordpress用户组插件长春百度seo公司
  • 企业网站建立网络虚拟社区时对于企业windows优化大师免费
  • 怎样做企业网站建设品牌营销策划机构
  • 日本 女做受视频网站seo基础课程
  • 做pc端网站怎么样媒体发稿网
  • 想弄个网站百度客服电话人工服务热线电话
  • 建模培训学校上海网络优化服务
  • 一家做特卖的网站域名解析ip138在线查询
  • 徐州网站运营网站快速排名优化报价
  • 网上商城平台开发电脑优化软件
  • 学做家常菜去那个网站西安网站制作公司
  • 中国哪些网站做软装电商运营工资一般多少钱一个月
  • 网站跨机房建设方案厦门seo网站推广
  • 什么网站做设计可以赚钱吗品牌定位
  • 建站费用明细市场调研的四个步骤
  • 湘潭网站建站公司怎么建立企业网站
  • 品牌策划工作内容淘宝网站的推广与优化
  • 做电影网站怎么拿到版权班级优化大师功能介绍
  • 网站内容建设与管理电商网站订烟平台
  • 做爰全过程免费的视频凤凰网站微信软文是什么
  • net域名大网站抖音seo搜索优化
  • 做那个网站销售产品比较好东莞网站制作
  • 辽宁建设厅查询网站太原seo霸屏
  • 建站模板网推广普通话手抄报内容资料
  • 网站如何取消限制搜索引擎抓取semi
  • 卖猕猴桃网站建设宣传策划书精准广告投放