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

पायथन में दिए गए 3 वर्टेक्स के साथ रेक्टेंगल के चौथे वर्टेक्स के निर्देशांक खोजें


मान लीजिए हमारे पास Q * P आकार का एक ग्रिड है, इस ग्रिड में ठीक तीन एस्टेरिस्क '*' हैं और हर दूसरे सेल में डॉट '.' है, जहां '*' रेक्टेंगल के एक वर्टेक्स के लिए है। हमें लापता वर्टेक्स के निर्देशांक ढूंढने हैं। यहां हम 1-आधारित इंडेक्सिंग पर विचार करेंगे।

तो, यदि इनपुट grid = [".*.", "...", "*.*"] जैसा है, तो आउटपुट [1, 3] होगा, यह लापता निर्देशांक है।

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • p := पंक्तियों की संख्या

  • q := कॉलम की संख्या

  • row := सभी पंक्ति संख्या के लिए एक मैप बनाएं, और संबद्ध मान 0 है

  • col := सभी कॉलम संख्या के लिए एक मैप बनाएं, और संबद्ध मान 0 है

  • i को 0 से p तक के लिए, करें:

    • j को 0 से q तक के लिए, करें:

      • यदि grid[i, j], '*' के समान है, तो:

        • row[i] := row[i] + 1

        • col[j] := col[j] + 1

  • row में प्रत्येक k,v के लिए, करें:

    • यदि v, 1 के समान है, तो:

      • x_coord := k;

  • col में प्रत्येक k,v के लिए, करें:

    • यदि v, 1 के समान है, तो:

      • y_coord := k;

  • (x_coord + 1, y_coord + 1) लौटाएं

  • उदाहरण

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

    def get_missing_vertex(grid) :    p = len(grid)    q = len(grid[0])    row = dict.fromkeys(range(p), 0)    col = dict.fromkeys(range(q), 0)    for i in range(p) :       for j in range(q) :          if (grid[i][j] == '*') :             row[i] += 1             col[j] += 1    for k,v in row.items() :       if (v == 1) :          x_coord = k;    for k,v in col.items() :       if (v == 1) :          y_coord = k;    return (x_coord + 1, y_coord + 1) grid = [".*.", "...", "*.*"] print(get_missing_vertex(grid))

    इनपुट

    [".*.", "...", "*.*"]

    आउटपुट

    (1, 3)

    1. - पायथन में कॉलम स्वैपिंग की अनुमति के साथ 1 का सबसे बड़ा आयत खोजें

      मान लीजिए हमारे पास एक बाइनरी मैट्रिक्स है, हमें उस दिए गए मैट्रिक्स में सभी 1 का सबसे बड़ा आयत ढूंढना है। आयत को उस मैट्रिक्स के कॉलम के किसी भी जोड़े को स्वैप या एक्सचेंज करके बनाया जा सकता है।तो, यदि इनपुट इस तरह है:100101001111010तो आउटपुट इस मामले में 6 होगा। आयत कॉलम 1 को 3 के साथ एक्सचेंज करक

    1. - Python - दी गई ऐरे में सभी गुड इंडेक्स ढूंढना

      मान लीजिए हमारे पास संख्याओं की एक ऐरे A है, हमें इस ऐरे के सभी इंडेक्स ढूंढने हैं ताकि ऐरे से i-th एलिमेंट को डिलीट करने के बाद, ऐरे एक गुड ऐरे बन जाए। हमें ध्यान रखना है कि: गुड ऐरे एक ऐसा ऐरे है जिसमें एक एलिमेंट होता है जो अन्य सभी एलिमेंट्स के योग के बराबर होता है। यहां 1-बेस्ड इंडेक्सिंग उपयो

    1. - पायथन में दी गई नेस्टेड सूची में अधिकतम मान वाली उपसूची ढूंढें

      एक सूची में अन्य सूचियां इसके तत्वों के रूप में हो सकती हैं। इस लेख में हम दी गई सूची में मौजूद उपसूची को ढूंढना चाहते हैं जिसमें अधिकतम मान हो। max और lambda के साथ max और lambda फ़ंक्शन एक साथ उस उपसूची को दे सकते हैं जिसमें अधिकतम मान हो। उदाहरण listA = [[Mon, 90], [Tue, 32], [Wed, 120]] # lambd