কম্পিউটার

পাইথনের অন্যান্য তালিকার তুলনায় ছোট উপাদান সহ একটি অ্যারের প্রথম বিভাজনের ন্যূনতম দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে সংখ্যার সংখ্যার একটি তালিকা আছে, আমরা তালিকাটিকে দুটি ভাগে ভাগ করতে চাই part1 এবং part2 যাতে part1-এর প্রতিটি উপাদান part1-এর প্রতিটি উপাদানের থেকে কম বা সমান হয়। আমাদের অংশ 1 এর সবচেয়ে ছোট দৈর্ঘ্য খুঁজে বের করতে হবে যা সম্ভব (0 দৈর্ঘ্য নয়)।

সুতরাং, ইনপুট যদি nums =[3, 1, 2, 5, 4] এর মত হয়, তাহলে আউটপুট হবে 3, কারণ আমরা part1 =[3, 1, 2] এবং part2 =[5, এর মতো তালিকা ভাগ করতে পারি। 4]।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • p :=ন্যূনতম সংখ্যা
  • s :=0
  • আমি 0 থেকে সংখ্যার আকার - 1 এর মধ্যে, কর
    • যদি সংখ্যা[i] p এর মত হয়, তাহলে
      • s :=i
      • লুপ থেকে বেরিয়ে আসুন
  • p :=সংখ্যার সাব-লিস্টের সর্বাধিক [সূচী 0 থেকে s]
  • উত্তর :=s
  • এর জন্য s + 1 পরিসর থেকে সংখ্যার আকার - 1, do
    • যদি সংখ্যা[i]
    • উত্তর :=i
  • উত্তর ফেরত + 1
  • উদাহরণ

    আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

    def solve(nums):
       p = min(nums)
       s = 0
       for i in range(len(nums)):
          if nums[i] == p:
             s = i
             break
       p = max(nums[: s + 1])
       ans = s
       for i in range(s + 1, len(nums)):
          if nums[i] < p:
             ans = i
       return ans + 1
    
    nums = [3, 1, 2, 5, 4]
    print(solve(nums))

    ইনপুট

    [3, 1, 2, 5, 4]

    আউটপুট

    3

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

    2. পাইথনে দীর্ঘতম বিকল্প বৈষম্য উপাদানগুলির দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

    3. পাইথনে একটি তালিকার অ-সংলগ্ন উপাদানগুলির বৃহত্তম যোগফল খুঁজে বের করার প্রোগ্রাম

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