কম্পিউটার

পাইথনে একটি প্রদত্ত দৈর্ঘ্যের সর্বশ্রেষ্ঠ সাব্যারে খুঁজে বের করার জন্য প্রোগ্রাম


ধরুন আমাদের একটি অ্যারে রয়েছে যেখানে বিভিন্ন পূর্ণসংখ্যার মান এবং একটি প্রদত্ত দৈর্ঘ্য k আছে। প্রদত্ত দৈর্ঘ্যের অ্যারে থেকে আমাদের সর্বশ্রেষ্ঠ উপ-অ্যারে বের করতে হবে। একটি সাবঅ্যারেকে অন্য সাবয়ারের থেকে বড় বলা হয়, যদি subarray1[i] ≠ subarry2[i] এবং subarray1[i]> subarry2[i] হয়।

সুতরাং, যদি ইনপুট হয় সংখ্যা =[5, 3, 7, 9], k =2, তাহলে আউটপুট হবে [7, 9]।

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

  • শুরু :=সংখ্যার আকার - k
  • max_element :=nums[start]
  • max_index :=শুরু
  • শুরু করার সময়>=0, কর
    • যদি nums[start]> max_element অ-শূন্য হয়, তাহলে
      • max_element :=nums[start]
      • max_index :=শুরু
    • সংখ্যা ফেরত দিন[সূচক max_index থেকে max_index + k]
  • সংখ্যা ফেরত দিন[সূচক max_index থেকে max_index + k]

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

উদাহরণ

def solve(nums, k):
   start = len(nums) - k
   max_element = nums[start]
   max_index = start

   while start >= 0:
      if nums[start] > max_element:
         max_element = nums[start]
         max_index = start

      start -= 1

   return nums[max_index:max_index + k]

print(solve([5, 3, 7, 9], 2))

ইনপুট

[5, 3, 7, 9], 2

আউটপুট

[7, 9]

  1. পাইথনের প্রত্যেকের দ্বারা গ্রাফটি অতিক্রম করা যায় কিনা তা খুঁজে বের করার প্রোগ্রাম

  2. দীর্ঘতম দৈর্ঘ্য খুঁজে বের করার জন্য প্রোগ্রাম, যা পাইথনে দেওয়া অক্ষর ব্যবহার করে তৈরি করা যেতে পারে

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

  4. পাইথন প্রোগ্রাম একটি প্রদত্ত স্ট্রিং এর বাইনারি রিপ্রেজেন্টেশনে সবচেয়ে বড় ধারাবাহিক 1 এর দৈর্ঘ্য খুঁজে বের করতে।