কম্পিউটার

দীর্ঘতম সাবলিস্টের আকার খুঁজে বের করার প্রোগ্রাম যেখানে পাইথনে গাড়ির গতি স্থির থাকে


ধরুন আমাদের কাছে সময়ের সমান ব্যবধানে একটি গাড়ির অবস্থানের প্রতিনিধিত্বকারী সংখ্যাগুলির একটি তালিকা রয়েছে। আমাদের দীর্ঘতম সাবলিস্টের আকার খুঁজে বের করতে হবে যেখানে গাড়িটি একটি ধ্রুবক গতিতে ভ্রমণ করছিল।

সুতরাং, যদি ইনপুট পজিশনের মত হয় =[0, 4, 8, 12, 6, 4, 0], তাহলে আউটপুট হবে 4, যেমন সাবলিস্ট [0, 4, 8, 12]।

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

  • j :=1
  • max_cnt :=0, বর্তমান :=0
  • দূরত্ব :=|পদ[0] - অবস্থান[1]|
  • যখন j <অবস্থানের আকার, কর
    • আগের :=অবস্থান[j - 1]
    • যদি দূরত্ব |পজিশন[j] - আগের | , তারপর
      • কারেন্ট :=বর্তমান + 1
    • অন্যথায়,
      • max_cnt :=সর্বাধিক max_cnt এবং বর্তমান
      • বর্তমান :=1
      • দূরত্ব :=|পজিশন[j] - আগের|
    • max_cnt :=সর্বাধিক max_cnt এবং বর্তমান
    • j :=j + 1
  • রিটার্ন max_cnt + 1

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

উদাহরণ

class Solution:
   def solve(self, positions):
      j = 1
      max_cnt = 0
      current = 0
      distance = abs(positions[0] - positions[1])
      while j < len(positions):
         prev = positions[j - 1]
         if distance == abs(positions[j] - prev):
            current += 1

         else:
            max_cnt = max(max_cnt, current)
            current = 1
            distance = abs(positions[j] - prev)
         max_cnt = max(max_cnt, current)
         j += 1
      return max_cnt + 1
ob = Solution()
positions = [0, 4, 8, 12, 6, 4, 0]
print(ob.solve(positions))

ইনপুট

[0, 4, 8, 12, 6, 4, 0]

আউটপুট

4

  1. পাইথনে মান পরিসীমা শর্ত সহ দীর্ঘতম সাবলিস্টের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে একটি এন-আরি গাছের দীর্ঘতম পথের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  3. একটি গ্রাফের বৃহত্তম চক্রের সর্বনিম্ন আকার খুঁজে বের করার জন্য প্রোগ্রাম (পাইথন)

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