Menu
CoddyTech

First Missing Positive

Bạn có một mảng số nguyên nums chưa được sắp xếp. Hãy trả về số nguyên dương nhỏ nhất (từ 1 trở lên) không xuất hiện trong nums. Mảng có thể chứa số âm, số 0, các giá trị lặp lại và những giá trị lớn hơn nhiều so với độ dài của mảng.

Hàm

firstMissingPositive(nums: integer-array) → integer
numsinteger-array
các số nguyên chưa được sắp xếp, có thể bị lặp lại và có thể là số âm, số không hoặc số rất lớn
Trả vềinteger
số nguyên dương nhỏ nhất còn thiếu trong nums

Ràng buộc

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • Các giá trị không theo thứ tự cụ thể nào và có thể lặp lại.

Ví dụ

Đầu vào
nums = [5, -2, 1, 3, 2, 9]
Đầu ra
4
Giải thích
1, 2 và 3 đều có trong mảng, còn 4 thì không, nên đáp án là 4. 5 và 9 không quan trọng khi đã thiếu một giá trị nhỏ hơn.
challenge icon

Câu hỏi mở rộng

Bạn có thể tìm câu trả lời trong thời gian O(n) và chỉ dùng thêm O(1) bộ nhớ không?

Đặt lại code
def firstMissingPositive(nums):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

nums = [5, -2, 1, 3, 2, 9]

Đầu ra mong đợi

4