Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm số dương thứ k trong một mảng bằng Python

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