কম্পিউটার টিউটোরিয়াল

পাইথনে ম্যাট্রিক্সে সারির ও কলামের সর্বোচ্চ মান যাচাই করা

मान लीजिए हमारे पास एक मैट्रिक्स है। हमें उन पूर्णांकों की कुल संख्या ढूंढनी है जिनका मान अपनी सारी और कॉलम दोनों में सबसे बड़ा है।

उदाहरण के लिए, यदि इनपुट है:

132
465
157

तो आउटपुट होगा 2 क्योंकि 6 और 7 मान्य हैं।

समाधान दृष्टिकोण

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

  • mat := मैट्रिक्स
  • r_maxes := mat की प्रत्येक सारी के अधिकतम तत्वों की सूची बनाएं
  • c_maxes := mat के प्रत्येक कॉलम के अधिकतम तत्वों की सूची बनाएं
  • a := एक नई सूची
  • r के लिए 0 से सारी की संख्या - 1 तक की रेंज में:
    • c के लिए 0 से कॉलम की संख्या - 1 तक की रेंज में:
      • v := mat[r, c]
      • यदि r_maxes[r] v है और c_maxes[c] v है, तो:
        • v को a के अंत में डालें
  • a का आकार वापस करें

उदाहरण कोड

class Solution:
    def solve(self, matrix):
        mat = matrix
        trans_mat = list(zip(*matrix))
        r_maxes = [max(row) for row in mat]
        c_maxes = [max(t_row) for t_row in trans_mat]
        a = []
        for r in range(len(mat)):
            for c in range(len(trans_mat)):
                v = mat[r][c]
                if (r_maxes[r], c_maxes[c]) == (v, v):
                    a.append(v)
        return len(a)

ob = Solution()
matrix = [
    [1, 3, 2],
    [4, 6, 5],
    [1, 5, 7]
]
print(ob.solve(matrix))

इनपुट

[[1, 3, 2], [4, 6, 5], [1, 5, 7]]

आउटपुट

2
  1. পাইথনে দুটি বড় সংখ্যা যোগ করা

  2. পাইথনে র‍্যান্ডম নম্বর (Random Numbers)

  3. পাইথনে কমপ্লেক্স নম্বর প্লট করার প্রোগ্রাম

  4. পাইথনে সংখ্যা তুলনা করার রিলেশনাল অপারেটর গাইড