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

जांचें कि क्या केवल पायथन में संबंधित मानों की अदला-बदली करके दो मैट्रिक्स को सख्ती से बढ़ाना संभव है

मान लीजिए हमारे पास n x m आकार के दो आव्यूह हैं जिनका नाम mat1 और mat2 है। हमें यह जांचना होगा कि ये दो मैट्रिक्स सख्ती से बढ़ रहे हैं या नहीं, केवल दो तत्वों को अलग-अलग मैट्रिक्स में स्वैप करके, जब वे दोनों मैट्रिक्स में स्थिति (i, j) पर हों।

तो, अगर इनपुट पसंद है

<टीडी>1
5
<टीडी>1
0
7
1
6


<टीडी>1
7
1
4
9
8

तब आउटपुट सही होगा क्योंकि हम (7, 14) और (10, 17) जोड़े को सख्ती से बढ़ाने के लिए स्वैप कर सकते हैं।

<टीडी>1
5
<टीडी>1
7
1
4
1
6


<टीडी>1
0
7 9
8

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

  • पंक्ति :=mat1 की पंक्ति गणना
  • col :=mat1 की कॉलम संख्या
  • मैं के लिए 0 से पंक्ति -1 की सीमा में, करो
    • जे के लिए 0 से col-1 की श्रेणी में, do
      • अगर mat1[i,j]> mat2[i,j], तो
        • स्वैप mat1[i, j] और mat2[i, j]
    • मैं के लिए 0 से पंक्ति -1 की सीमा में, करो
      • जे के लिए 0 से col-2 तक, करें
        • अगर mat1[i, j]>=mat1[i, j + 1] या mat2[i, j]>=mat2[i, j + 1], तो
          • झूठी वापसी
    • मैं के लिए 0 से पंक्ति-2 की सीमा में, करते हैं
      • जे के लिए 0 से col-1 की श्रेणी में, do
        • अगर mat1[i, j]>=mat1[i + 1, j] या mat2[i, j]>=mat2[i + 1, j], तो
          • झूठी वापसी
  • सही लौटें

उदाहरण

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

def solve(mat1, mat2):
   row = len(mat1)
   col = len(mat1[0])
   for i in range(row):
      for j in range(col):
         if mat1[i][j] > mat2[i][j]:
            mat1[i][j], mat2[i][j]= mat2[i][j], mat1[i][j]
   for i in range(row):
      for j in range(col-1):
         if mat1[i][j]>= mat1[i][j + 1] or mat2[i][j]>= mat2[i][j + 1]:
            return False
   for i in range(row-1):
      for j in range(col):
         if mat1[i][j]>= mat1[i + 1][j] or mat2[i][j]>= mat2[i + 1][j]:
            return False
   return True
mat1 = [[7, 15],
         [16, 10]]
mat2 = [[14, 9],
         [8, 17]]
print(solve(mat1, mat2))

इनपुट

[[7, 15],
[16, 10]],
[[14, 9],
[8, 17]]

आउटपुट

True

  1. पायथन में नोड्स की अदला-बदली से दो पेड़ बन सकते हैं या नहीं, इसकी जाँच करने के लिए कार्यक्रम

    मान लीजिए कि हमारे पास दो पेड़ हैं, हमें यह जांचना होगा कि क्या हम किसी भी नोड के बाएँ और दाएँ सबट्री को कितनी भी बार स्वैप करके पहले पेड़ को दूसरे में बदल सकते हैं। तो, अगर इनपुट पसंद है तो आउटपुट सही होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - que1 :=शुरुआत में root0 वाली एक कतार

  1. पायथन प्रोग्राम यह जांचने के लिए कि क्या किसी सरणी में सभी अंकों का उपयोग करके 3 संख्या से विभाज्य बनाना संभव है

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

  1. पायथन का उपयोग करके दो मैट्रिक्स कैसे जोड़ें?

    अजगर में 2 मैट्रिक्स जोड़ने का सबसे आसान तरीका है कि उन पर लूप करें और तत्वों को एक-एक करके जोड़ें। उदाहरण के लिए, X = [[1,2,3], [4,5,6], [7,8,9]] Y = [[9,8,7], [6,5,4], [3,2,1]] result = [[0,0,0], [0,0,0], [0,0,0]] for i in range(len(X)):    for j in range(len(X[0])):     &nbs