Merge pull request #14 from azl397985856/patch-3

feat(ml):leetcode41缺失的第一个正数 添加 Python3 代码
This commit is contained in:
算法基地 2021-04-26 15:07:02 +08:00 committed by GitHub
commit 5917f1c1c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -83,6 +83,8 @@ class Solution {
题目代码 题目代码
Java Code:
```java ```java
class Solution { class Solution {
public int firstMissingPositive(int[] nums) { public int firstMissingPositive(int[] nums) {
@ -115,3 +117,29 @@ class Solution {
} }
``` ```
Python3 Code:
```py
class Solution:
def firstMissingPositive(self, nums: List[int]) -> int:
n = len(nums)
def swap(nums, a, b):
temp = nums[a]
nums[a] = nums[b]
nums[b] = temp
i = 0
while i < n:
num = nums[i]
# 已经就位
if num <= 0 or num >= n or num == i + 1 or nums[num - 1] == num:
i += 1
# 可以交换
else:
swap(nums, i, num - 1)
for i in range(n):
if nums[i] != i + 1:
return i + 1
return n + 1
```