मान लीजिए कि हमारे पास m x m कोटि का एक वर्ग आव्यूह है; हमें दिए गए मैट्रिक्स की सभी पंक्तियों के लिए सभी अलग-अलग तत्वों को समान रूप से खोजना होगा।
तो, अगर इनपुट पसंद है
13 | 2 | 15 | 4 | 17 |
15 | 3 | 2 | 4 | 36 |
15 | 2 | 15 | 4 | 12 |
15 | 26 | 4 | 3 | 2 |
2 | 19 | 4 | 22 | 15 |
तब आउटपुट [2,4,15]
. होगाइसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
फ़ंक्शन सॉर्टरो () को परिभाषित करें। यह मैट्रिक्स लेगा
-
n :=पंक्तियों की संख्या
-
मेरे लिए 0 से n की सीमा में, करें
-
सूची मैट्रिक्स को क्रमबद्ध करें [i]
-
-
मुख्य विधि में, निम्न कार्य करें -
-
n :=पंक्तियों की संख्या
-
सॉर्टरो (मैट्रिक्स)
-
current_idx :=आकार n की एक सूची, 0 से भरें
-
मेरे लिए 0 से n की सीमा में, करें
-
current_idx[i] :=0
-
-
च :=0
-
जबकि current_idx[0]
-
मान:=मैट्रिक्स[0, current_idx[0]]
-
वर्तमान:=सत्य
-
1 से n की सीमा में i के लिए, करें
-
जबकि (current_idx[i]
-
current_idx[i] :=current_idx[i] + 1
-
-
यदि मैट्रिक्स [i, current_idx [i] - 1] मान के समान नहीं है, तो
-
वर्तमान :=असत्य
-
-
अगर current_idx[i] n के समान है, तो
-
च:=1
-
लूप से बाहर आएं
-
-
-
अगर उपस्थित गैर-शून्य है, तो
-
प्रदर्शन मूल्य
-
-
अगर f 1 के समान है, तो
-
लूप से बाहर आएं
-
-
current_idx[0] :=current_idx[0] + 1
-
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
MAX = 100 def sortRows(matrix): n = len(matrix) for i in range(0, n): matrix[i].sort(); def find_common(matrix): n = len(matrix) sortRows(matrix) current_idx = [0] * n for i in range (0, n): current_idx[i] = 0 f = 0 while(current_idx[0] < n): value = matrix[0][current_idx[0]] present = True for i in range (1, n): while (current_idx[i] < n and matrix[i][current_idx[i]] <= value): current_idx[i] = current_idx[i] + 1 if (matrix[i][current_idx[i] - 1] != value): present = False if (current_idx[i] == n): f = 1 break if (present): print(value, end = ", ") if (f == 1): break current_idx[0] = current_idx[0] + 1 mat = [ [13, 2, 15, 4, 17], [15, 3, 2, 4, 36], [15, 2, 15, 4, 12], [15, 26, 4, 3, 2], [2, 19, 4, 22, 15]] find_common(mat)
इनपुट
[[13, 2, 15, 4, 17], [15, 3, 2, 4, 36], [15, 2, 15, 4, 12], [15, 26, 4, 3, 2], [2, 19, 4, 22, 15]]
आउटपुट
2, 4, 15,