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

पायथन में कॉलम हटाकर सॉर्ट करना

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

उदाहरण के लिए, यदि हमारे पास A जैसे ["abcdef","uvwxyz"] सरणी है और डिलीशन इंडेक्स {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"] गैर-घटते क्रम में सॉर्ट हैं। और यदि हम D = {} चुनते हैं, तो कॉलम ["b","a","h"] गैर-घटते क्रम में सॉर्ट नहीं होगा।

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

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

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

उदाहरण

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] होगी। हल करने के चरण i := 0, j := 0 और end := A क

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

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