मान लीजिए कि हमारे पास एक 2D मैट्रिक्स है, जहां प्रत्येक पंक्ति और स्तंभ को गैर-घटते क्रम में क्रमबद्ध किया गया है, हमें यह जांचना होगा कि दिया गया लक्ष्य उसके अंदर मौजूद है या नहीं।
तो, अगर इनपुट पसंद है
2 | 4 | 30 |
3 | 4 | 31 |
6 | 6 | 32 |
और टारगेट =31, तो आउटपुट ट्रू होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- col :=मैट्रिक्स का कॉलम आकार - 1
- मैं के लिए 0 से लेकर पंक्ति आकार के मैट्रिक्स के लिए, करते हैं
- जबकि मैट्रिक्स[i, col]> लक्ष्य और col>=0, करते हैं
- col :=col - 1
- यदि मैट्रिक्स [i, col] लक्ष्य के समान है, तो
- सही लौटें
- जबकि मैट्रिक्स[i, col]> लक्ष्य और col>=0, करते हैं
- झूठी वापसी
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, matrix, target): col = len(matrix[0]) - 1 for i in range(len(matrix)): while matrix[i][col] > target and col >= 0: col = col - 1 if matrix[i][col] == target: return True return False ob = Solution() matrix = [ [2, 4, 30], [3, 4, 31], [6, 6, 32] ] target = 31 print(ob.solve(matrix, target))
इनपुट
matrix = [ [2, 4, 30], [3, 4, 31], [6, 6, 32]] target = 31
आउटपुट
True