কম্পিউটার টিউটোরিয়াল

স্পেশাল অ্যারে-এ X এর মান বের করা (X এলিমেন্ট >= X)

একটি অ্যারে nums দেওয়া আছে (সব এলিমেন্ট ০ বা পজিটিভ)। nums 스페শাল অ্যারে হবে যদি এমন একটি x থাকে যাতে nums-এ ঠিক xটি এলিমেন্ট থাকে যারা x-র চেয়ে বড় বা সমান। x nums-এ থাকতে হয় না। x বের করতে হবে, না থাকলে -1।

ইনপুট: nums = [4,6,7,7,1,0] → আউটপুট: 4। ৪টি এলিমেন্ট (৪,৬,৭,৭) আছে যারা ৪-র চেয়ে বড় বা সমান।

সমাধানের ধাপসমূহ

  • i = 0 থেকে max(nums) পর্যন্ত:

    • count = 0
    • প্রতিটি j ∈ nums: যদি j >= i: count++
    • যদি count == i: return i
  • return -1

উদাহরণ (Python)

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))

ইনপুট

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

আউটপুট

4
  1. পাইথনে তালিকার উপাদান সমান করার জন্য ন্যূনতম মোট খরচ খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে ইউনিক অ্যারেতে কনটিগুয়াস ইন্টারভাল খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে অ্যারে উপাদানগুলো সমান করার জন্য ন্যূনতম মুভ (Minimum Moves to Equal Array Elements II)

  4. পাইথনে অ্যারে গুণফলকে n দিয়ে ভাগ করার অবশেষ বের করার প্রোগ্রাম