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

पायथन में क्रमबद्ध करने के लिए कॉलम हटाएं

मान लीजिए कि हमारे पास एन लोअरकेस अक्षर स्ट्रिंग्स की एक सरणी है, सरणी का नाम ए है, सभी स्ट्रिंग समान लंबाई के हैं। अब, हम विलोपन सूचकांकों का कोई भी सेट चुन सकते हैं, और प्रत्येक स्ट्रिंग के लिए, हम उन सूचकांकों के सभी वर्णों को हटा देते हैं।

एक उदाहरण के रूप में, यदि हमारे पास ["abcdef", "uvwxyz"] की तरह एक सरणी A है और विलोपन सूचकांक {0, 2, 3} हैं, तो विलोपन के बाद अंतिम सरणी ["bef", "vyz"] होगी, और A के शेष कॉलम ["b",,"v"], ["e",,"y"], और ["f",,"z"] हैं।

मान लीजिए कि हमने विलोपन सूचकांकों का एक सेट D चुना है, जैसे हटाने के बाद, A में प्रत्येक शेष कॉलम गैर-घटते क्रम में है। हमें D की लंबाई का न्यूनतम संभव मान ज्ञात करना है।

इसलिए, यदि इनपुट ["cba",,"daf",,"ghi"] जैसा है, तो आउटपुट 1 होगा, ऐसा इसलिए है क्योंकि D ={1} चुनने के बाद, प्रत्येक कॉलम ["c",,"d" , "g"] और ["a",,"f",,"i"] गैर-घटते क्रम में हैं। और अगर हमने डी ={} चुना है, तो एक कॉलम ["बी", "ए", "एच"] गैर-घटते क्रम में नहीं होगा।

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

  • A =सरणी से तार लेकर एक मैट्रिक्स बनाएं, और वर्णों को अलग-अलग कॉलम में अलग करें
  • B =नई खाली सूची
  • ए में कर्नल के लिए, करें
    • अगर col पहले से ही सॉर्ट किया गया है तो B में 0 डालें
    • अन्यथा B में 1 डालें
  • बी में सभी तत्वों का योग लौटाएं

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

उदाहरण

class Solution:
   def minDeletionSize(self, A):
      return sum([1-(sorted(col)==list(col)) for col in zip(*A)])
ob = Solution()
print(ob.minDeletionSize(["cba","daf","ghi"]))

इनपुट

["cba","daf","ghi"]

आउटपुट

1

  1. पायथन में भारतीय ध्वज बनाने का कार्यक्रम

    ग्राफ बनाने के लिए पायथन के पुस्तकालयों में बहुत व्यापक विशेषताएं हैं जो हमें न केवल चार्ट दे सकती हैं बल्कि हमें झंडे जैसे अन्य आरेखों को खींचने के लिए लचीलापन भी दे सकती हैं। उस अर्थ में उन मॉड्यूलों में कलात्मक स्पर्श होता है। इस लेख में हम देखेंगे कि numpy और matplotlib पुस्तकालयों का उपयोग करके

  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] इसे हल करने के लिए, इन चरणों का पालन करें

  1. पायथन का उपयोग करके किसी फ़ाइल को कैसे हटाएं?

    आप ओएस मॉड्यूल में फ़ंक्शन के साथ एक फ़ाइल या एक खाली फ़ोल्डर को हटा सकते हैं। उदाहरण के लिए, यदि आप किसी फ़ाइल को हटाना चाहते हैं my_file.txt, >>> import os >>> os.remove('my_file.txt') os.remove का तर्क पूर्ण या सापेक्ष पथ होना चाहिए।