কম্পিউটার

সংক্ষিপ্ততম সাবলিস্ট খুঁজতে প্রোগ্রাম তাই সাজানোর পর পুরো তালিকাটি পাইথনে সাজানো হবে


ধরুন আমাদের কাছে nums নামে একটি সংখ্যার তালিকা আছে, আমাদেরকে সংখ্যায় সংক্ষিপ্ততম সাবলিস্টের দৈর্ঘ্য খুঁজে বের করতে হবে, যদি সাবলিস্টটি সাজানো হয়, তাহলে সমগ্র অ্যারে সংখ্যাগুলি ঊর্ধ্বক্রম অনুসারে সাজানো হবে৷

সুতরাং, ইনপুট যদি nums =[1,2,5,4,9,10] এর মত হয়, তাহলে আউটপুট হবে 2, যেমন সাবলিস্ট [4, 3] সাজানো হলে আমরা [0, 1, 3, 4 পাব। , 8, 9]

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

  • f:=-1, l:=-1
  • lst:=তালিকার সংখ্যাগুলি সাজান
  • আমি 0 থেকে সংখ্যার আকারের মধ্যে,
      করুন
    • যদি nums[i] lst[i] এর মত না হয়, তাহলে
      • যদি f -1 এর মত হয়, তাহলে
        • f :=i
      • অন্যথায়,
        • l :=i
  • যদি l -1 এর মত হয় এবং f -1 এর মত হয়, তাহলে
    • রিটার্ন 0
  • রিটার্ন l - f + 1

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

উদাহরণ

class Solution:
   def solve(self, nums):
      f=-1
      l=-1
      lst=sorted(nums)
      for i in range(len(nums)):
         if nums[i]!=lst[i]:
            if f == -1:
               f=i
            else:
               l=i
            if l == -1 and f == -1:
      return 0
return l-f+1
ob = Solution() print(ob.solve([1,2,5,4,9,10]))

ইনপুট

[1,2,5,4,9,10]

আউটপুট

2

  1. পাইথনে K বৃদ্ধির পর দীর্ঘতম সমতুল্য সাবলিস্ট খুঁজতে প্রোগ্রাম

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

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

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