নন-নেগেটিভ সংখ্যাগুলোর একটি লিস্ট nums দেওয়া আছে। এমন k বের করুন যাতে ঠিক kটি এলিমেন্ট ≥ k। না পেলে -1 রিটার্ন করুন।
উদাহরণ
nums = [6, 4, 0, 8, 2, 9] → আউটপুট: 4
≥4 olan: [6, 4, 8, 9] — ঠিক ৪টি।
এলগরিদম (H-Index সমস্যা)
numsডিসেন্ডিং অর্ডারে সর্ট করুন।i = 1থেকেlen(nums)-1পর্যন্ত:- যদি
i > nums[i-1]: ব্রেক - যদি
i > nums[i]: রিটার্নi
- যদি
-1রিটার্ন করুন।
পাইথন কোড
def solve(nums):
nums.sort(reverse=True)
for i in range(1, len(nums)):
if i > nums[i-1]:
break
elif i > nums[i]:
return i
return -1
nums = [6, 4, 0, 8, 2, 9]
print(solve(nums)) # আউটপুট: 4
ইনপুট / আউটপুট
[6, 4, 0, 8, 2, 9] 4