কম্পিউটার

জাভাস্ক্রিপ্টে স্কয়ার ম্যাট্রিক্স ঘূর্ণন


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা n * n ক্রম (বর্গ ম্যাট্রিক্স) এর অ্যারেগুলির একটি অ্যারে নেয়। ফাংশনটি অ্যারেটিকে 90 ডিগ্রি (ঘড়ির কাঁটার দিকে) ঘোরানো উচিত। শর্ত হল যে এটি আমাদের জায়গায় করতে হবে (কোন অতিরিক্ত অ্যারে বরাদ্দ না করে)।

উদাহরণস্বরূপ -

যদি ইনপুট অ্যারে −

হয়
const arr = [
   [1, 2, 3],
   [4, 5, 6],
   [7, 8, 9]
];

তারপর ঘোরানো অ্যারে −

এর মত হওয়া উচিত
const output = [
   [7, 4, 1],
   [8, 5, 2],
   [9, 6, 3],
];

উদাহরণ

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

const arr = [
   [1, 2, 3],
   [4, 5, 6],
   [7, 8, 9]
];
const rotateArray = (arr = []) => {
   for (let rowIndex = 0; rowIndex < arr.length; rowIndex += 1) {
      for (let columnIndex = rowIndex + 1; columnIndex < arr.length;
      columnIndex += 1) {
         [
            arr[columnIndex][rowIndex],
            arr[rowIndex][columnIndex],
         ] = [
            arr[rowIndex][columnIndex],
            arr[columnIndex][rowIndex],
         ];
      }
   }
   for (let rowIndex = 0; rowIndex < arr.length; rowIndex += 1) {
      for (let columnIndex = 0; columnIndex < arr.length / 2;
      columnIndex += 1) {
         [
            arr[rowIndex][arr.length - columnIndex - 1],
            arr[rowIndex][columnIndex],
         ] = [
            arr[rowIndex][columnIndex],
            arr[rowIndex][arr.length - columnIndex - 1],
         ];
      }
   }
};
rotateArray(arr);
console.log(arr);

আউটপুট

নিম্নোক্ত কনসোলে আউটপুট -

[ [ 7, 4, 1 ], [ 8, 5, 2 ], [ 9, 6, 3 ] ]

  1. জাভাস্ক্রিপ্টে 2 এর বর্গমূল কিভাবে পাবেন?

  2. জাভাস্ক্রিপ্টে AVL ঘূর্ণন

  3. জাভাস্ক্রিপ্টে নির্দিষ্ট ধরণের ম্যাট্রিক্সের জন্য পরীক্ষা করা হচ্ছে

  4. প্রতিসম এবং তির্যক-প্রতিসম ম্যাট্রিক্সের সমষ্টি হিসাবে একটি বর্গ ম্যাট্রিক্স?