मान लीजिए हमारे पास एक 2D मैट्रिक्स है जहां प्रत्येक पंक्ति आरोही क्रम में सॉर्टेड है। हमें सबसे छोटी संख्या ढूंढनी है जो हर पंक्ति में मौजूद है। यदि ऐसा कोई परिणाम नहीं है, तो -1 लौटाएं।
तो, यदि इनपुट इस तरह है
| 2 | 3 | 5 |
| 5 | 10 | 10 |
| 1 | 3 | 5 |
तो आउटपुट 5 होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
- यदि मैट्रिक्स खाली है, तो -1 लौटाएं
- first := मैट्रिक्स की पहली पंक्ति से एक नया सेट
- मैट्रिक्स में प्रत्येक पंक्ति के लिए, करें
- first := first और पंक्ति के एलिमेंट के सेट का इंटरसेक्शन
- यदि first खाली है, तो -1 लौटाएं
- first का न्यूनतम लौटाएं
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण
class Solution:
def solve(self, matrix):
if not matrix:
return -1
first = set(matrix[0])
for row in matrix:
first &= set(row)
if not first:
return -1
return min(first)
ob1 = Solution()
matrix = [
[2, 3, 5],
[5, 10, 10],
[1, 3, 5]
]
print(ob1.solve(matrix))
इनपुट
matrix = [ [2, 3, 5], [5, 10, 10], [1, 3, 5] ]
आउटपुट
5