Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm số nhỏ thứ n từ một ma trận cho trước bằng Python

Giả sử chúng ta có một ma trận 2D, trong đó mỗi hàng và cột được sắp xếp theo thứ tự không giảm, chúng ta phải tìm số nhỏ thứ n.

Vì vậy, nếu đầu vào giống như

2 4 30
3 4 31
6 6 32

Và n =4, thì đầu ra sẽ là 6.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • lst:=một danh sách mới
  • đối với mỗi hàng i trong ma trận, thực hiện
    • đối với mỗi ô j trong i, thực hiện
      • chèn j vào cuối lst
  • sắp xếp danh sách
  • return lst [n]

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

class Solution:
   def solve(self, matrix, n):
      lst = []
      for i in matrix:
         for j in i:
            lst.append(j)
      lst.sort()
      return lst[n]
ob = Solution()
matrix = [ [2, 4, 30], [3, 4, 31], [6, 6, 32] ]
n = 4
print(ob.solve(matrix, n))

Đầu vào

matrix = [
[2, 4, 30],
[3, 4, 31],
[6, 6, 32] ]
n = 4

Đầu ra

6