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

यह जांचने के लिए कार्यक्रम कि हम पायथन में टुकड़ों से सरणी बना सकते हैं या नहीं

मान लीजिए कि हमारे पास एक सरणी संख्या है जहां सभी तत्व अद्वितीय हैं और अलग-अलग छोटे सरणियों के साथ एक और सरणी है जिसे टुकड़े कहा जाता है। हमें यह जांचना है कि क्या हम किसी भी क्रम में सरणियों को टुकड़ों में जोड़कर मुख्य सरणी अंक प्राप्त कर सकते हैं या नहीं। लेकिन हमें प्रत्येक सरणी के टुकड़े [i] में मौजूद तत्वों को पुन:व्यवस्थित करने की अनुमति नहीं है।

इसलिए, यदि इनपुट अंकों की तरह है =[5,1,12,36,2,47,6] टुकड़े =[[2,47,6], [12,36], [1], [5]], तब आउटपुट सही होगा क्योंकि हम मुख्य सरणी प्राप्त करने के लिए उन्हें [[5], [1], [12,36], [2,47,6]] इस क्रम में जोड़ सकते हैं।

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

  • अस्थायी:=एक नई सूची

  • प्रत्येक पी के लिए टुकड़ों में करें

    • अगर p[0] अंकों में मौजूद नहीं है, तो

      • झूठी वापसी

    • l :=p का आकार

    • इंडेक्स :=इंडेक्स (p[0]) अंकों में

    • अगर इंडेक्स इंडेक्स से इंडएक्स+एल-1 में अंकों का सबअरे पी के समान नहीं है, तो

      • झूठी वापसी

    • अन्यथा,

      • अस्थायी के बाद p संलग्न करें

  • यदि अंकों का आकार अस्थायी के आकार के समान है, तो

    • सही लौटें

  • अन्यथा,

    • झूठी वापसी

उदाहरण (पायथन)

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

def solve(nums, pieces):
   temp = []
   for p in pieces:
      if p[0] not in nums:
         return False
      l = len(p)
      indx = nums.index(p[0])
      if nums[indx:indx+l] != p:
         return False
      else:
         temp.extend(p)
   if len(nums) == len(temp):
      return True
   else:
      return False

nums = [5,1,12,36,2,47,6]
pieces = [[2,47,6],[12,36],[1],[5]]
print(solve(nums, pieces))

इनपुट

[5,1,12,36,2,47,6], [[2,47,6],[12,36],[1],[5]]

आउटपुट

True

  1. यह जाँचने के लिए कार्यक्रम कि क्या हम पायथन में सूचकांक 0 से अंतिम स्थान पर पहुँच सकते हैं

    मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है, जहां प्रत्येक संख्या हमारे द्वारा की जा सकने वाली छलांगों की अधिकतम संख्या दर्शाती है; हमें यह जांचना होगा कि क्या हम इंडेक्स 0 से शुरू होने वाले अंतिम इंडेक्स तक पहुंच सकते हैं या नहीं। इसलिए, यदि इनपुट nums =[2,5,0,2,0] जैसा है,

  1. यह जांचने के लिए कार्यक्रम कि हम पायथन में सबसे बाईं या सबसे दाईं स्थिति तक पहुँच सकते हैं या नहीं

    मान लीजिए हमारे पास एक स्ट्रिंग है जिसमें तीन प्रकार, आर, बी, और डॉट (।) के अक्षर हैं। यहां R हमारी वर्तमान स्थिति के लिए है, B एक अवरुद्ध स्थिति के लिए है, और डॉट (।) एक खाली स्थिति के लिए है। अब, एक चरण में, हम अपनी वर्तमान स्थिति के लिए किसी भी आसन्न स्थिति में जा सकते हैं, जब तक कि यह वैध (खाली)

  1. यह जांचने के लिए कार्यक्रम कि हम किसी भी शहर से किसी भी शहर की यात्रा कर सकते हैं या नहीं, पायथन में

    मान लीजिए कि हमारे पास n शहर हैं जिन्हें [0, n) की श्रेणी में एक संख्या के रूप में दर्शाया गया है और हमारे पास एक तरफ़ा सड़कों की एक सूची भी है जो एक शहर को दूसरे शहर से जोड़ती है। हमें यह जांचना होगा कि क्या हम किसी शहर से किसी शहर तक पहुंच सकते हैं। इसलिए, यदि इनपुट n =3 जैसा है, तो सड़कें =[[0,