স্বতন্ত্র সংখ্যাগুলির একটি m * n ম্যাট্রিক্স দেওয়া হলে, আমাদের 2-D অ্যারেতে (ম্যাট্রিক্স) সমস্ত সৌভাগ্যবান সংখ্যা যেকোনো ক্রমে ফেরত দিতে হবে।
একটি ভাগ্যবান সংখ্যা ম্যাট্রিক্সের একটি উপাদান যেমন এটি তার সারির সর্বনিম্ন উপাদান এবং তার কলামে সর্বাধিক।
উদাহরণস্বরূপ − যদি ইনপুট অ্যারে −
হয়const arr = [ [3,7,8], [9,11,13], [15,16,17] ];
তারপর আউটপুট −
হওয়া উচিতconst output = [15];
কারণ 15 হল একমাত্র সৌভাগ্যবান সংখ্যা যেহেতু এটি তার সারিতে সর্বনিম্ন এবং তার কলামে সর্বাধিক।
উদাহরণ
এর জন্য কোড হবে −
const arr = [ [3,7,8], [9,11,13], [15,16,17] ]; const luckyNumbers = (arr, res = []) => { let M = arr.length, N = arr[0].length; let min = Array(M).fill( Infinity); let max = Array(N).fill(-Infinity); for (let i = 0; i < M; ++i) for (let j = 0; j < N; ++j) min[i] = Math.min(min[i], arr[i][j]), max[j] = Math.max(max[j], arr[i][j]); for (let i = 0; i < M; ++i) for (let j = 0; j < N; ++j) if (min[i] == max[j]) res.push(arr[i][j]); return res; }; console.log(luckyNumbers(arr));
আউটপুট
এবং কনসোলে আউটপুট হবে −
[15]