কম্পিউটার টিউটোরিয়াল

পাইথনে ম্যাট্রিক্সের শূন্য মানগুলোর সারি ও কলাম শূন্যে রূপান্তর


ধরুন একটি ২D ম্যাট্রিক্স আছে। প্রতিটি শূন্যের জন্য তার সারি ও কলামের সব মান শূন্যে রূপান্তর করুন এবং চূড়ান্ত ম্যাট্রিক্স ফেরত দিন।

ইনপুট: matrix → আউটপুট: matrix (০ম, ২য়, ৩য় সারি ০ ধারণ করে → সেসব সারি ০; ০ম, ১ম, ২য় কলাম ০ ধারণ করে → সেসব কলাম ০)।

সমাধান পদ্ধতি


n := row count, m := column count
res := n x m সাইজের ম্যাট্রিক্স ০ দিয়ে ফিল
transpose := দেওয়া ম্যাট্রিক্সের ট্রান্সপোজ
প্রতিটি রো i জন্য:
    যদি 0 matrix[i]-এ না থাকে:
        প্রতিটি কলাম j জন্য:
            যদি 0 transpose[j]-এ না থাকে:
                res[i, j] := matrix[i, j]
return res

বাস্তবায়ন


class Solution:
    def solve(self, matrix):
        n, m = len(matrix), len(matrix[0])
        res = [[0 for __ in range(m)] for _ in range(n)]
        transpose = [list(row) for row in zip(*matrix)]
        for i in range(n):
            if 0 not in matrix[i]:
                for j in range(m):
                    if 0 not in transpose[j]:
                        res[i][j] = matrix[i][j]
        return res

ob = Solution()
matrix = [
    [6, 0, 0, 6, 9],
    [4, 9, 9, 4, 8],
    [0, 8, 3, 4, 2],
    [9, 0, 7, 8, 3],
    [5, 2, 9, 6, 8]
]
print(ob.solve(matrix))

ইনপুট


matrix = [
    [6, 0, 0, 6, 9],
    [4, 9, 9, 4, 8],
    [0, 8, 3, 4, 2],
    [9, 0, 7, 8, 3],
    [5, 2, 9, 6, 8]
]

আউটপুট


[[0, 0, 0, 0, 0],
 [0, 0, 0, 4, 8],
 [0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0],
 [0, 0, 0, 6, 8]]
  1. পাইথনে রো এবং কলাম ওয়াইজ সর্টেড ম্যাট্রিক্স থেকে সর্টেড অর্ডারে সব এলিমেন্ট প্রিন্ট করা

  2. পাইথন প্রোগ্রাম: বাবল সোর্ট অ্যালগরিদম

  3. পাইথন প্রোগ্রাম: বাইনারি সার্চ অ্যালগরিদম

  4. পাইথন প্রোগ্রাম: লিনিয়ার সার্চ অ্যালগরিদম