算法分析课每周练习 First Missing Positive
来源:互联网 发布:webpack php 编辑:程序博客网 时间:2024/06/10 18:08
题目
First Missing Positive
Given an unsorted integer array, find the first missing positive integer.
For example,
Given [1,2,0]
return 3
,
and [3,4,-1,1]
return 2
.
Your algorithm should run in O(n) time and uses constant space.
分析如果把该array中的n放在第n个位置上,那么遍历一遍后,第一个位置上不符合的就是要求的值
class Solution(object): def firstMissingPositive(self, nums): """ :type nums: List[int] :rtype: int """ L=len(nums) for m in range(L): if nums[m]>L: continue val = nums[m]-1 while nums[m]>0 and val<L and nums[val] != nums[m]: nums[m],nums[val]=nums[val],nums[m] val = nums[m]-1 for m in range(len(nums)): if nums[m] != m +1: return m +1 return L+1注:解法比较取巧,好像也没其他方法,感觉没有什么应用价值,不知为什么是top interview question
阅读全文
0 0
- 算法分析课每周练习 First Missing Positive
- 算法练习(15):First Missing Positive
- 【LeetCode算法练习(C++)】First Missing Positive
- 每日算法之三十二:First Missing Positive
- 算法——First Missing Positive
- 算法分析课每周练习 LRU Cache
- 算法分析课每周练习 Wildcard Matching
- LeetCode: First Missing Positive
- LeetCode First Missing Positive
- LeetCode: First Missing Positive
- [Leetcode] First Missing Positive
- leetcode12: First Missing Positive
- First Missing Positive
- [LeetCode] First Missing Positive
- [Leetcode] First Missing Positive
- leetcode First Missing Positive
- LeetCode First Missing Positive
- [leetcode] first missing positive
- API网关
- Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web
- 8086/8088 存储器分段概念
- 两个链表的第一个公共节点
- Android实战杂记
- 算法分析课每周练习 First Missing Positive
- 意图相关工具类
- SQL 的相关概念DQL DML DDL
- 单链表常见面试题
- SQLite数据库框架ORMLite与GreenDao的简单比较
- Maven项目通过配置文件读取证书问题
- Zuul:智能路由和过滤(译)
- 来说说<Bridge>桥接模式
- Celery学习笔记(一)