Giả sử chúng ta có một mảng gọi là nums với các giá trị dương được sắp xếp tăng dần và cũng có một số nguyên k. Chúng ta phải tìm số nguyên dương thứ k bị thiếu trong mảng này.
Vì vậy, nếu đầu vào là nums =[1,2,4,8,12], k =6, thì đầu ra sẽ là 10 vì các số còn thiếu là [3,5,6,7,9,10,11 ], ở đây số hạng thứ 6 là 10.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
nums:=một tập hợp mới từ các phần tử có trong nums
-
đếm:=0
-
num:=1
-
trong khi đếm
-
nếu num không bằng nums thì
-
count:=count + 1
-
-
nếu số đếm bằng k, thì
-
trả về số
-
-
num:=num + 1
-
-
trả về số
Ví dụ (Python)
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
def solve(nums, k): nums = set(nums) count = 0 num = 1 while count < k: if num not in nums: count += 1 if count == k: return num num += 1 return num nums = [1,2,4,8,12] k = 6 print(solve(nums, k))
Đầu vào
[1,2,4,8,12], 6
Đầu ra
10