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

岳阳做网站永久免费crm客户管理系统

岳阳做网站,永久免费crm客户管理系统,沈阳网约车公司,网站后台登录界面这个算法的核心思想是通过交换操作,将每个数放到它应该在的位置上。然后再次遍历数组,找到第一个不在正确位置上的数,其索引加一即为缺失的最小正整数。 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/54219.html

相关文章:

  • 网站建设案例讯息友链查询站长工具
  • 企石网站仿做廊坊seo排名霸屏
  • 网站建设中gif网络推广都有哪些平台
  • bbs网站域名和www比较那个好点国外最好的免费建站
  • 网站方案制作的培训灰色行业推广平台
  • 北京有一个公司打电话做网站认证手机百度如何发布广告
  • 校园网站设计代码关键词云图
  • 博客网站首页设计seo专业论坛
  • 贵州软件开发 网站开发重庆百度地图
  • 机械加工网站模板关键词难易度分析
  • 网站制作和网页制作区别深圳网络推广优化
  • e4a怎么做点击跳转网站wix网站制作
  • 网站网站开发河源新闻最新消息
  • 给卖假性药的做网站一般要判多久江苏免费关键词排名外包
  • 中国风html5网站模板怎么自己创建一个网站
  • 丹东网站推广常用的搜索引擎有
  • 犀牛云做网站做网站需要多钱中国最新消息新闻
  • 自定义网站模板seo网站排名优化培训教程
  • 企业免费招聘人才网站快速排名优化seo
  • 华为云做网站渠道推广费用咨询
  • 淘宝客网站主题模板seo概念
  • 同ip网站做友链推广普通话标语
  • 个人网站需要什么页面seo外链平台热狗
  • 毕节市住房和城乡建设局网站餐饮管理和营销方案
  • 在税务网站怎么做三方协议上海aso苹果关键词优化
  • 西安网站建设 早晨永久免费跨境浏览app
  • 网站备案单位的联系方式seo整站优化更能准确获得客户
  • 北京社会建设网站收录优美图片官网
  • 河源做网站北京搜索引擎关键词优化
  • 网站开发清单手机搭建网站