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

পাইথনে সর্টেড অ্যারে থেকে সাবসেট যোগফল হিসেবে প্রকাশ না করা যাবে এমন ন্যূনতম পজিটিভ ইন্টিজার বের করুন


সমস্যা বিবরণ

একটি সর্টেড (অসেন্ডিং) পজিটিভ সংখ্যার অ্যারে দেওয়া আছে। যেটি কোনো সাবসেটের যোগফল হিসেবে প্রকাশ করা যাবে না এমন ন্যূনতম পজিটিভ মান বের করতে হবে। সময় জটিলতা O(n)।

উদাহরণস্বরূপ, A=[1,4,8,12,13,17] হলে আউটপুট 2।

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

  1. answer = 1 শুরু করুন।
  2. প্রতিটি উপাদান A[i] এর জন্য:
    • যদি A[i] <= answer হয়, তবে answer += A[i]।
    • অন্যথায় লুপ ব্রেক করুন।
  3. answer রিটার্ন করুন।

পাইথন কোড উদাহরণ

def get_smallest_element(A):
    n = len(A)
    answer = 1
    for i in range(n):
        if A[i] <= answer:
            answer += A[i]
        else:
            break
    return answer

A = [1, 4, 8, 12, 13, 17]
print(get_smallest_element(A))  # আউটপুট: 2

ইনপুট

[1, 4, 8, 12, 13, 17]

আউটপুট

2
  1. পাইথনে বাইনারি ট্রি-তে BST-এর সর্বোচ্চ যোগফলের মান বের করার প্রোগ্রাম

  2. পাইথন প্রোগ্রামে অ্যারের যোগফল বের করা

  3. পাইথনে অ্যারের যোগফল বের করা

  4. পাইথনে পজিটিভ ইনফিনিটির নিকটতম মান পাওয়া