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

पायथन में उच्चतम से निम्नतम रैंक के क्रम में टीमों की अंतिम रैंकिंग खोजने का कार्यक्रम

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

इसलिए, यदि इनपुट वोट =["zyx", "zxy", "xyz"] की तरह है, तो आउटपुट "zxy" होगा, क्योंकि z को सबसे अधिक वरीयता मिली है, इसलिए इसे पहले स्थान पर रखा गया है। फिर x को सर्वोच्च वरीयता का दूसरा सबसे अधिक अंक प्राप्त हुआ, और y को कोई सर्वोच्च वरीयता वाला वोट नहीं मिला।

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

  • गिनती :=मतों में तार की लंबाई
  • cand :=एक खाली नक्शा जहां प्रत्येक कुंजी आकार गणना की एक सूची होगी, और शुरुआत में वे 0 से भरे हुए हैं
  • वोट में प्रत्येक v के लिए, करें
    • प्रत्येक अनुक्रमणिका i और v में मान c के लिए, करें
      • कैंडी बढ़ाएं[c, i] 1 से
    • मान के आधार पर कैंडी आइटम को अवरोही क्रम में क्रमबद्ध करें, जब मान समान हों, तो उन्हें वर्णानुक्रम में क्रमबद्ध करें
    • सॉर्ट किए गए तत्वों को जोड़कर एक स्ट्रिंग लौटाएं।

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

उदाहरण

from collections import defaultdict
class Solution:
   def solve(self, votes):
      count = len(votes[0])
      cand = defaultdict(lambda: [0] * count)
      for v in votes:
         for i, c in enumerate(v):
            cand[c][i] += 1
      return "".join(sorted(cand.keys(), key=lambda x: (cand[x], -ord(x)), reverse=True))
     
ob = Solution()
votes = ["zyx", "zxy", "xyz"]
print(ob.solve(votes))

इनपुट

["zyx", "zxy", "xyz"]

आउटपुट

zxy

  1. पायथन प्रोग्राम में सरणी का योग ज्ञात करें

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सरणी दी गई है, जिसकी हमें सरणी के योग की गणना करने की आवश्यकता है। योग प्राप्त करने के लिए प्रत्येक अनुक्रमणिका में संपूर्ण सरणी और तत्व को पार करने के लिए पाशविक-बल दृष्टिकोण की चर्चा नीचे प्रत्येक अनुक्रमण

  1. एक मैट्रिक्स के स्थानान्तरण को खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक मैट्रिक्स को देखते हुए, हमें उसी मैट्रिक्स में ट्रांसपोज़ को स्टोर करना होगा और उसे प्रदर्शित करना होगा। पंक्तियों को कॉलम और कॉलम को पंक्तियों में बदलकर मैट्रिक्स का स्थानांतरण प्राप्त किया ज

  1. सरणी का योग खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक इनपुट के रूप में एक सरणी को देखते हुए, हमें दिए गए सरणी के योग की गणना करने की आवश्यकता है। यहां हम ब्रूट-फोर्स अप्रोच का अनुसरण कर सकते हैं, यानी एक सूची को पार करना और प्रत्येक तत्व को एक खा