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

Chương trình tìm X cho mảng đặc biệt có X phần tử lớn hơn hoặc bằng X trong Python

Giả sử chúng ta có một mảng được gọi là nums trong đó tất cả các phần tử là 0 hoặc dương. Các num được coi là mảng đặc biệt nếu tồn tại một số x sao cho có đúng x số trong các num lớn hơn hoặc bằng x. Và x không phải là một phần tử trong nums. Ở đây chúng ta phải tìm x nếu mảng là đặc biệt, nếu không, trả về -1.

Vì vậy, nếu đầu vào là nums =[4,6,7,7,1,0], thì đầu ra sẽ là 4 vì có 4 số lớn hơn hoặc bằng 4.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • đối với tôi trong phạm vi từ 0 đến tối đa là số, hãy thực hiện

    • đếm:=0

    • đối với mỗi j trong nums, thực hiện

      • nếu j> =i, thì


      • count:=count + 1
    • nếu số đếm giống với tôi, thì

      • trả lại tôi

  • trả về -1

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):
   for i in range(max(nums)+1):
      count=0
      for j in nums:
         if j >= i:
            count+=1
      if count == i:
         return i
      return -1

nums = [4,6,7,7,1,0]
print(solve(nums))

Đầu vào

[4,6,7,7,1,0]

Đầu ra

-1