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

পাইথনে অ্যারে-র উপাদানগুলো শূন্য হয়ে যাওয়ার শেষ ইনডেক্স খুঁজে বের করা

একটি অ্যারে A এবং একটি সংখ্যা K দেওয়া আছে। অপারেশন: A[0] থেকে A[N-1] পর্যন্ত প্রতিটি উপাদান থেকে K বিয়োগ করা। যদি A[i] < K হয়, তবে A[i] = 0 করুন। একবার ০ হলে সেটিতে আর অপারেশন করা হয় না। এই প্রক্রিয়া সব উপাদান ০ না হওয়া পর্যন্ত চালাতে হবে। সর্বশেষ কোন ইনডেক্স ০ হবে, সেটি বের করতে হবে।

উদাহরণ

ইনপুট: A = [4, 3, 6, 8, 3, 10], K = 4

অপারেশন ১: A = [0, 0, 2, 4, 0, 6]

অপারেশন ২: A = [0, 0, 0, 0, 0, 2]

অপারেশন ৩: A = [0, 0, 0, 0, 0, 0]

আউটপুট: ৫ (সর্বশেষ ইনডেক্স ৫ শূন্য হয়)

সমাধানের পদ্ধতি

  1. প্রতিটি উপাদান A[i]-র জন্য, এটি কতবার অপারেশন টিকতে পারবে তা হলো ceil(A[i] / K) = (A[i] + K - 1) // K
  2. এই মানগুলো অ্যারে-তে আপডেট করুন।
  3. সর্বোচ্চ মান ও তার ইনডেক্স খুঁজে বের করুন। যদি একাধিক থাকে, শেষ ইনডেক্স নিন।

পাইথন কোড


def search_index(A, k):
    n = len(A)
    idx = -1
    x = -10**9
    for i in range(n):
        A[i] = (A[i] + k - 1) // k
    for i in range(n):
        if A[i] >= x:
            x = A[i]
            idx = i
    return idx

arr = [4, 3, 6, 8, 3, 10]
K = 4
print(search_index(arr, K))

ইনপুট

[4, 3, 6, 8, 3, 10], 4

আউটপুট

5
  1. পাইথনে AP সিরিজের প্রথম টার্ম বের করা যা দেওয়া প্রাইমের গুণিতক

  2. পাইথনে প্রিফিক্স অ্যারে অনুযায়ী লেক্সিকোগ্রাফিক্যালি সবচেয়ে ছোট স্ট্রিং নির্ণয়

  3. পাইথনে অ্যারে-র উপাদানগুলো শূন্য হয়ে যাওয়ার শেষ ইনডেক্স খুঁজে বের করা

  4. পাইথনে লিস্টে একটি আইটেমের ইনডেক্স কীভাবে খুঁজে বের করবেন?