栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

查找不在列表中的最小整数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

查找不在列表中的最小整数

如果数据结构可以在适当位置进行突变并支持随机访问,则可以在O(N)时间和O(1)额外空间中进行操作。只需按顺序遍历该数组,并为每个索引将索引处的值写入由value指定的索引,然后将该位置的任何值递归地放置到该位置,并丢弃值>N。其中value与索引不匹配-
这是不在数组中的最小值。这样最多可以进行3N比较,并且仅使用一些值的临时空间。

# Pass 1, move every value to the position of its valuefor cursor in range(N):    target = array[cursor]    while target < N and target != array[target]:        new_target = array[target]        array[target] = target        target = new_target# Pass 2, find first location where the index doesn't match the valuefor cursor in range(N):    if array[cursor] != cursor:        return cursorreturn N


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/668880.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号