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

পাইথনে সাবলিস্ট সর্ট করলে পুরো লিস্ট সর্টেড হয় এমন শর্টেস্ট সাবলিস্ট বের করার প্রোগ্রাম


मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें num में सबसे छोटे सबलिस्ट की लंबाई ढूंढनी है, यदि सबलिस्ट को क्रमबद्ध किया जाता है, तो पूरा सरणी nums आरोही क्रम में क्रमबद्ध हो जाएगा।

उदाहरण के लिए, यदि इनपुट है nums = [1,2,5,4,9,10], तो आउटपुट होगा 2, क्योंकि सबलिस्ट [4, 3] को क्रमबद्ध करने से हमें [0, 1, 3, 4, 8, 9] मिलेगा

इसे हल करने के लिए, हम निम्नলিখিত चरणों का पालन करेंगे:

  • f := -1, l := -1
  • lst := nums सूची को सॉर्ट करें
  • i के लिए 0 से nums के आकार तक की रेंज में, करें
    • यदि 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 কিনা যাচাই করার প্রোগ্রাম