কম্পিউটার

ম্যাট্রিক্সটি অনুভূমিকভাবে ফ্লিপ করুন এবং জাভাস্ক্রিপ্ট ব্যবহার করে উল্টে দিন


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি 2-ডি বাইনারি অ্যারে, অ্যারে, (একটি অ্যারে যা শুধুমাত্র 0 বা 1 নিয়ে গঠিত), প্রথম এবং একমাত্র যুক্তি হিসাবে নেয়৷

আমাদের ফাংশন প্রথমে ম্যাট্রিক্সকে অনুভূমিকভাবে উল্টানো উচিত, তারপরে এটিকে উল্টানো উচিত এবং ফলে ম্যাট্রিক্স ফিরিয়ে দেওয়া উচিত।

ম্যাট্রিক্সকে অনুভূমিকভাবে উল্টানোর অর্থ হল ম্যাট্রিক্সের প্রতিটি সারি বিপরীত। উদাহরণস্বরূপ, অনুভূমিকভাবে [1, 1, 0] ফ্লিপ করলে [0, 1, 1] হয়।

একটি ম্যাট্রিক্সকে উল্টানোর অর্থ হল প্রতিটি 0 1 দ্বারা প্রতিস্থাপিত হয় এবং প্রতিটি 1 0 দ্বারা প্রতিস্থাপিত হয়। উদাহরণস্বরূপ, [0, 1, 1] উল্টানোর ফলে [1, 0, 0] হয়।

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয়

ইনপুট

const arr = [
   [1, 1, 0],
   [1, 0, 1],
   [0, 0, 0]
];

আউটপুট

const output = [
   [1,0,0],
   [0,1,0],
   [1,1,1]
];

আউটপুট ব্যাখ্যা

প্রথমে আমরা প্রতিটি সারি বিপরীত করি -

[[0,1,1],[1,0,1],[0,0,0]]

তারপর, আমরা ম্যাট্রিক্স −

উল্টে ফেলি
[[1,0,0],[0,1,0],[1,1,1]]

উদাহরণ

নিম্নলিখিত কোড -

const arr = [
   [1, 1, 0],
   [1, 0, 1],
   [0, 0, 0]
];
const flipAndInvert = (arr = []) => {
   const invert = n => (n === 1 ? 0 : 1)
   for(let i = 0; i < arr.length; i++) {
      for(let j = 0; j < arr[i].length / 2; j++) {
         const index2 = arr[i].length - 1 - j
         if(j === index2) {
            arr[i][j] = invert(arr[i][j])
         } else {
            const temp = arr[i][j]
            arr[i][j] = arr[i][index2]
            arr[i][index2] = temp
            arr[i][j] = invert(arr[i][j])
            arr[i][index2] = invert(arr[i][index2])
         }
      }
   }
};
flipAndInvert(arr);
console.log(arr);

আউটপুট

[ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 1, 1, 1 ] ]

  1. "নতুন" অপারেটর ব্যবহার করে জাভাস্ক্রিপ্ট কনস্ট্রাক্টর তৈরি করছেন?

  2. জাভাস্ক্রিপ্ট ব্যবহার করে বাইনারিতে প্যারিটি বিট গণনা করা এবং যোগ করা

  3. স্ট্রিংগুলির 2-ডি অ্যারে সাজানো এবং জাভাস্ক্রিপ্ট ব্যবহার করে তির্যক উপাদান খুঁজে পাওয়া

  4. Python এ ফ্লিপ এবং ইনভার্ট ম্যাট্রিক্স