Smallest Missing Integer Greater Than Sequential Prefix Sum

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
Leetcode
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Bạn được cung cấp một mảng số nguyên ~nums~ được đánh chỉ mục từ ~0~.

Một tiền tố ~nums[0..i]~ được gọi là "tuần tự" nếu, với mọi ~1 \leq j \leq i~, ~nums[j] = nums[j - 1] + 1~. Đặc biệt, tiền tố chỉ bao gồm ~nums[0]~ được coi là tuần tự.

Hãy trả về số nguyên nhỏ nhất ~x~ còn thiếu trong ~nums~ sao cho ~x~ lớn hơn hoặc bằng tổng của tiền tố tuần tự dài nhất.

Ví dụ 1:

Đầu vào: ~nums = [1,2,3,2,5]~

Đầu ra: ~6~

Giải thích: Tiền tố tuần tự dài nhất của ~nums~ là ~[1,2,3]~ với tổng là ~6~. Số ~6~ không có trong mảng, do đó ~6~ là số nguyên nhỏ nhất còn thiếu lớn hơn hoặc bằng tổng của tiền tố tuần tự dài nhất.

Ví dụ 2:

Đầu vào: ~nums = [3,4,5,1,12,14,13]~

Đầu ra: ~15~

Giải thích: Tiền tố tuần tự dài nhất của ~nums~ là ~[3,4,5]~ với tổng là ~12~. Các số ~12~, ~13~, và ~14~ có trong mảng trong khi ~15~ không có. Do đó, ~15~ là số nguyên nhỏ nhất còn thiếu lớn hơn hoặc bằng tổng của tiền tố tuần tự dài nhất.

Ràng buộc:

  • ~1 \leq nums.length \leq 10^5~
  • ~1 \leq nums[i] \leq 10^5~

Input

  • Dòng một: Số nguyên ~n~ là độ dài của mảng ~nums~.
  • Dòng hai: ~n~ số nguyên là phần tử của mảng ~nums~.

Output

  • Số nguyên nhỏ nhất ~x~ còn thiếu trong ~nums~ sao cho ~x~ lớn hơn hoặc bằng tổng của tiền tố tuần tự dài nhất.

Sample Input

5
1 2 3 2 5

Sample Output

6

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.