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

जांचें कि क्या पायथन में अनुमत आसन्न की सशर्त अदला-बदली के साथ एक सरणी को सॉर्ट करना संभव है

मान लीजिए कि हमारे पास संख्याओं की एक अनियंत्रित सरणी है जिसे अंक कहा जाता है और सभी तत्व 0 से n-1 की सीमा में हैं। हम जितनी बार आवश्यक हो, आसन्न तत्वों को अंकों में स्वैप कर सकते हैं, लेकिन केवल तभी जब इन तत्वों के बीच पूर्ण अंतर 1 हो। हमें यह जांचना होगा कि हम अंकों को क्रमबद्ध कर सकते हैं या नहीं।

इसलिए, यदि इनपुट संख्या =[1, 0, 3, 2, 5, 4] की तरह है, तो आउटपुट सही होगा क्योंकि हम इन जोड़ियों को स्वैप कर सकते हैं [(1, 0), (3, 2), (5) , 4)] सॉर्ट करने के लिए [0, 1, 2, 3, 4, 5]।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • मैं के लिए 0 से लेकर अंकों के आकार - 2 तक, करते हैं
    • यदि अंक[i]> अंक[i+1], तो
      • यदि अंक[i] - अंक[i+1] 1 के समान है, तो
        • अंकों का आदान-प्रदान करें[i] और अंक[i+1]
      • अन्यथा,
        • झूठी वापसी
  • सही लौटें

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

def solve(nums):
   for i in range(len(nums) - 1):
      if nums[i] > nums[i+1]:
         if nums[i] - nums[i+1] == 1:
            nums[i], nums[i+1] = nums[i+1], nums[i]
         else:
            return False
   return True
nums = [1, 0, 3, 2, 5, 4]
print(solve(nums))

इनपुट

[1, 0, 3, 2, 5, 4]

आउटपुट

True

  1. पायथन में मर्ज सॉर्ट कॉल की k संख्या के साथ सरणी खोजें

    मान लीजिए कि हमारे पास दो नंबर ए और बी हैं, हमें रेंज [1, ए] में मानों वाली एक सरणी ढूंढनी है और रिकर्सिव मर्ज सॉर्ट फ़ंक्शन की बिल्कुल बी संख्या की कॉल की आवश्यकता है। इसलिए, यदि इनपुट a =10, b =15 जैसा है, तो आउटपुट [3,1,4,6,2,8,5,9,10,7] होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - ए

  1. पायथन में सापेक्ष क्रमबद्ध सरणी

    मान लीजिए कि हमारे पास दो सरणियाँ हैं arr1 और arr2, arr2 के तत्व अद्वितीय हैं, और arr2 में सभी तत्व arr1 में भी मौजूद हैं। हमें arr1 के तत्वों को इस तरह से सॉर्ट करना होगा कि arr1 में आइटम्स का सापेक्ष क्रम arr2 जैसा ही हो। यदि कुछ ऐसे तत्व हैं जो arr2 में मौजूद नहीं हैं, तो उन्हें arr1 के अंत में आ

  1. पायथन में समता द्वारा क्रमबद्ध करें

    मान लीजिए, हमारे पास कुछ संख्याओं के साथ एक सरणी A है। हमें संख्याओं को सम विषम के रूप में व्यवस्थित करना है। इसलिए पहले सम संख्याएँ डालें, फिर विषम संख्याएँ। तो अगर सरणी ए =[1, 5, 6, 8, 7, 2, 3] की तरह है, तो परिणाम [6, 8, 2, 1, 5, 7, 3] जैसा होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -