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