ধরুন আমাদের কাছে সংখ্যার একটি 2D ম্যাট্রিক্স আছে, এখন প্রদত্ত ম্যাট্রিক্সে প্রতিটি শূন্যের জন্য এবং এর সারি এবং কলামের সমস্ত মান শূন্য দিয়ে প্রতিস্থাপন করুন এবং চূড়ান্ত ম্যাট্রিক্স ফেরত দিন।
সুতরাং, যদি ইনপুটটি ম্যাট্রিক্সের মতো হয়, তাহলে আউটপুটটি ম্যাট্রিক্স হবে কারণ 0ম, 2য় এবং 3য় সারিতে 0 থাকে এবং চূড়ান্ত ম্যাট্রিক্সে সেই সারিতে 0 থাকে। একইভাবে 0ম, 1ম এবং 2য় কলামে 0 থাকে এবং চূড়ান্ত ম্যাট্রিক্সে সেই কলামগুলিতে 0 থাকে৷
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব:
n :=সারি গণনা, m :=কলাম কাউন্টস :=n x m আকারের একটি ম্যাট্রিক্স তৈরি করুন এবং 0 ট্রান্সপোজ দিয়ে পূরণ করুন :=প্রতিটি সারির জন্য প্রদত্ত ম্যাট্রিক্স ট্রান্সপোজ করুন, ম্যাট্রিক্স[i]-এ 0 না থাকলে করুন, তারপর প্রতিটি কলাম j-এর জন্য ম্যাট্রিক্সে, যদি 0 ট্রান্সপোজে[j] না থাকে, তাহলে res[i, j] :=ম্যাট্রিক্স[i, j]রিটার্ন রেস
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
শ্রেণির সমাধান:def solve(self, matrix):n, m =len(matrix), len(matrix[0]) res =[[0 for __ in range(m)] _ in range(n) এর জন্য ] ট্রান্সপোজ =[লিস্ট(সারি) জিপ-এ সারির জন্য (*ম্যাট্রিক্স)] আই-এর জন্য রেঞ্জ(n):যদি 0 ম্যাট্রিক্সে না থাকে[i]:রেঞ্জে j এর জন্য (m):যদি 0 ট্রান্সপোজে না থাকে[j] :res[i][j] =matrix[i][j] রিটার্ন resob =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]]মুদ্রণ(ob.solve(ম্যাট্রিক্স))