ধরুন আমাদের একটি 2D ম্যাট্রিক্স এবং সেল ইনডেক্সের একটি সেট আছে। সেল সূচকগুলিকে (i, j) হিসাবে উপস্থাপন করা হয় যেখানে i হল সারি এবং j হল কলাম, এখন, প্রতিটি প্রদত্ত সেল সূচকের জন্য (i, j), আমাদের ith সারিতে উপস্থিত উপাদানগুলি বাদ দিয়ে সমস্ত ম্যাট্রিক্স উপাদানগুলির যোগফল খুঁজে বের করতে হবে এবং /অথবা jth কলাম।
সুতরাং, যদি ইনপুট মত হয়
2 | 2 | 3 |
4 | 5 | 7 |
6 | 4 | ৷3 |
সেল সূচক =[(0, 0), (1, 1), (0, 1)], তারপর আউটপুট হবে [19, 14, 20]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
n :=ind_arr এর আকার
-
উত্তর :=একটি নতুন তালিকা
-
0 থেকে n রেঞ্জের জন্য, করুন
-
যোগফল :=0
-
সারি :=ind_arr[i, 0]
-
col :=ind_arr[i, 1]
-
j রেঞ্জ 0 থেকে সারি মাদুর গণনার জন্য, করুন
-
k এর জন্য মানচিত্র 0 থেকে কলাম গণনা, করুন
-
যদি j সারি এবং k কলের সমান না হয়, তাহলে
-
যোগফল :=সমষ্টি + মাত[জে, কে]
-
-
-
-
উত্তরের শেষে যোগফল যোগ করুন
-
-
উত্তর ফেরত দিন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def show_sums(mat, ind_arr): n = len(ind_arr) ans = [] for i in range(0, n): Sum = 0 row = ind_arr[i][0] col = ind_arr[i][1] for j in range(0, len(mat)): for k in range(0, len(mat[0])): if j != row and k != col: Sum += mat[j][k] ans.append(Sum) return ans mat = [[2, 2, 3], [4, 5, 7], [6, 4, 3]] ind_arr = [(0, 0),(1, 1),(0, 1)] print(show_sums(mat, ind_arr))
ইনপুট
mat = [[2, 2, 3], [4, 5, 7], [6, 4, 3]] ind_arr = [(0, 0),(1, 1),(0, 1)
আউটপুট
[19, 14, 20]