สมมติว่าเรามีเมทริกซ์ 2 มิติ โดยที่แต่ละแถวจะเรียงลำดับจากน้อยไปมาก เราต้องหาจำนวนที่น้อยที่สุดที่มีอยู่ในทุกแถว หากไม่มีผลลัพธ์ดังกล่าว ให้คืนค่า -1
ดังนั้นหากอินพุตเป็นแบบ
2 | 3 | 5 |
5 | 10 | 10 |
1 | 3 | 5 |
แล้วผลลัพธ์จะเป็น 5
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
หากเมทริกซ์ว่างเปล่า
-
กลับ -1
-
-
first :=ชุดใหม่จากแถวแรกของเมทริกซ์
-
สำหรับแต่ละแถวในเมทริกซ์ ทำ
-
first :=ตัดชุดขององค์ประกอบของแถวก่อน
-
ถ้าว่างไว้ก่อน
-
กลับ -1
-
-
-
ผลตอบแทนขั้นต่ำอันดับแรก
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
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