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

जांचें कि क्या सरणी को पायथन में एक स्वैप के साथ क्रमबद्ध किया जा सकता है

मान लीजिए, हमें एक सरणी प्रदान की जाती है जिसमें पूर्णांक तत्व होते हैं। यदि हम केवल एक स्वैप ऑपरेशन कर सकते हैं तो हमें यह पता लगाना होगा कि क्या सरणी में मानों को गैर-घटते क्रम में क्रमबद्ध किया जा सकता है। यदि संभव हो तो हम कहते हैं कि यह किया जा सकता है, अन्यथा नहीं।

इसलिए, यदि इनपुट इनपुट_लिस्ट =[7, 8, 12, 10, 11, 9] जैसा है, तो आउटपुट "किया जा सकता है"

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

  • temp_list :=सूची की एक प्रति input_list
  • सूची को क्रमबद्ध करें temp_list
  • स्वैप_गिनती :=0
  • मेरे लिए 0 से लेकर input_list के आकार के लिए, करें
    • अगर input_list[i] temp_list[i] के समान नहीं है, तो
      • swap_count :=swap_count + 1
  • यदि स्वैप_काउंट 0 के समान है या स्वैप_काउंट 2 के समान है, तो
    • सही लौटें
  • अन्यथा,
    • झूठी वापसी

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

उदाहरण

from copy import deepcopy
def solve(input_list):
   temp_list = deepcopy(input_list)
   temp_list.sort()
   swap_count = 0
   for i in range(len(input_list)):
      if input_list[i] != temp_list[i]:
         swap_count += 1
   if swap_count == 0 or swap_count == 2:
      print("Can be done")
   else:
      print("Can't be done")
input_list = [7, 8, 12, 10, 11, 9] 
solve(input_list)

इनपुट

[7, 8, 12, 10, 11, 9]

आउटपुट

Can be done

  1. पायथन में एक स्वैप के साथ पिछला क्रमपरिवर्तन

    मान लीजिए कि हमारे पास सकारात्मक पूर्णांकों की एक सरणी ए है (जरूरी नहीं कि अद्वितीय), हमें लेक्सिकोग्राफिक रूप से सबसे बड़ा क्रमपरिवर्तन खोजना है जो ए से छोटा है, जिसे एक स्वैप के साथ बनाया जा सकता है (ए स्वैप दो नंबर ए [i] की स्थिति का आदान-प्रदान करता है और ए [जे])। यदि यह संभव नहीं है, तो उसी सरण

  1. जांचें कि क्या कोई संख्या पायथन में एक क्रमबद्ध सरणी में बहुसंख्यक तत्व है

    मान लीजिए कि हमारे पास एक सरणी है, जिसे nums कहा जाता है और जिसे गैर-घटते क्रम में क्रमबद्ध किया जाता है, और एक संख्या लक्ष्य। हमें यह पता लगाना होगा कि क्या लक्ष्य बहुसंख्यक तत्व है। एक सरणी में बहुसंख्यक तत्व एक ऐसा तत्व है जो लंबाई N की एक सरणी में N/2 से अधिक बार दिखाई देता है। इसलिए यदि सरणी इस

  1. पायथन में सॉर्ट किए गए ऐरे को मर्ज करें

    मान लीजिए कि हमारे पास दो क्रमबद्ध सरणी A और B हैं। हमें उन्हें मर्ज करना है और केवल एक क्रमबद्ध सरणी C बनाना है। सूचियों का आकार भिन्न हो सकता है। उदाहरण के लिए, मान लीजिए A =[1,2,4,7] और B =[1,3,4,5,6,8], तो मर्ज की गई सूची C होगी [1,1,2,3,4, 4,5,6,7,8] इसे हल करने के लिए, इन चरणों का पालन करें