困难题目简单解|困难题目简单解 speed 90% Hard First Missing Positive, 缺失的第一个正整数
解题思路
设nums长度为n,区间[1,n+1]中,第一个未出现在nums中的数即为题目所求
?
步骤
- 将nums转换为set()
- 遍历range(1,len(set_num)+1),检测是否这些正整数存在于nums中(if i+1 in set时间复杂度为O(1))
- 因为此处遍历set而不是list,所以速度更快
欢迎在我的博客轻松探索更多思路
代码
class Solution(object):
def firstMissingPositive(self, nums):set_num=set(nums)for i in range(len(set_num)+1):
if i+1 in set_num:
continue
else:
return i+1return 0
【困难题目简单解|困难题目简单解 speed 90% Hard First Missing Positive, 缺失的第一个正整数】?
推荐阅读
- c语言编程模拟扫雷游戏,C语言实现简单扫雷游戏
- Vue.js响应式数据的简单实现方法(一看就会)
- 每日leetcode——232. 用栈实现队列
- 传感器融合|基于C++完成一个简单的线性卡尔曼滤波器进行传感器融合
- 算法|[JS][dfs]题解 | #迷宫问题#
- leetcode|leetcode:词典中最长的单词
- 06_Springboot|Spring AOP 介绍与简单日志切面实现
- 面试官(简历上最好不要写Glide,不是问源码那么简单)
- PIPIOJ—1214: 逆置顺序表
- LeetCode-089-格雷编码