Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में सबसे छोटी सबलिस्ट खोजें जिसे क्रमबद्ध करने पर पूरी सूची क्रमबद्ध हो जाए


मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें nums में सबसे छोटी सबलिस्ट की लंबाई ढूंढनी है, जिसे क्रमबद्ध करने पर पूरा सरणी 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. - पायथन में सूची के गैर-आसन्न तत्वों का अधिकतम योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें एक फ़ंक्शन परिभाषित करना है जो गैर-आसन्न संख्याओं का अधिकतम योग लौटाता है। यहां संख्याएं 0 या नकारात्मक भी हो सकती हैं। उदाहरण के लिए, यदि इनपुट [3, 5, 7, 3, 6] है, तो आउटपुट 16 होगा, क्योंकि हम 3, 7, और 6 लेकर 16 प्राप्त कर सकते हैं। इसे हल

  1. - पायथन में सॉर्टेड सूची में हर जोड़ी के निरपेक्ष अंतर का योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक सॉर्टेड संख्याओं की एक सूची है, हमें दी गई सूची में हर जोड़ी के संख्याओं के बीच निरपेक्ष अंतर का योग ढूंढना है। यहां हम (i, j) और (j, i) को अलग-अलग जोड़ी मानते हैं। यदि उत्तर बहुत बड़ा है, तो परिणाम को 10^9+7 से मोड करें। उदाहरण के लिए, यदि इनपुट nums = [2, 4, 8] है, तो

  1. - पायथन में सूची में किन्हीं दो संख्याओं को खोजें जिनका योग k हो

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है और एक अन्य संख्या k है, हमें जांचना है कि क्या सूची में मौजूद कोई दो संख्याएं k तक जुड़ती हैं या नहीं। समान तत्वों का दो बार उपयोग नहीं किया जाना चाहिए। और संख्याएं नकारात्मक या 0 हो सकती हैं। उदाहरण के लिए, यदि इनपुट है nums = [45, 18, 9, 13, 12