ধরুন আমাদের একটি ম্যাট্রিক্স আছে, আমাদের প্রতিটি কলামকে আরোহী ক্রমে সাজাতে হবে।
সুতরাং, যদি ইনপুট মত হয়
11 | 21 | 31 |
6 | 6 | 4 |
1 | 11 | 8 |
তাহলে আউটপুট হবে
1 | 6 | 4 |
6 | 11 | 8 |
11 | 21 | 31 |
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- R :=ম্যাট্রিক্সের সারি গণনা, C :=ম্যাট্রিক্সের কলাম সংখ্যা
- res :=প্রদত্ত ম্যাট্রিক্সের মতো একই আকারের ম্যাট্রিক্স এবং 0 দিয়ে পূরণ করুন
- 0 থেকে C রেঞ্জের কলের জন্য, করুন
- মানগুলি :=উপাদানগুলিকে ম্যাট্রিক্সের একটি ভেক্টর হিসাবে গ্রহণ করুন [কল]
- 0 থেকে R রেঞ্জের সারির জন্য, করুন
- res[row, col] :=মান থেকে শেষ উপাদান মুছে দিন
- রিটার্ন রিটার্ন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
শ্রেণীর সমাধান:def solve(self, matrix):R =len(matrix) C =len(matrix[0]) res =[[0] * C for _ in range(R)] এর জন্য col in range( C):মান =[r[col] ম্যাট্রিক্সে r এর জন্য] values.sort(reverse=True) রেঞ্জের সারির জন্য (R):res[row][col] =values.pop() রিটার্ন resob =Solution() ম্যাট্রিক্স =[[11, 21, 31],[6, 6, 4],[1, 11, 8]]প্রিন্ট(ob.solve(ম্যাট্রিক্স))