আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা n * n অর্ডারের একটি অ্যারে অফ অ্যারে (স্কোয়ার ম্যাট্রিক্স) নেবে। ফাংশনটি অ্যারেটি ৯০ ডিগ্রি (ক্লকওয়াইজ) ঘুরিয়ে দেবে। শর্ত হলো এটি ইন-প্লেস করতে হবে (অতিরিক্ত কোনো অ্যালোকেশন ছাড়া)।
উদাহরণস্বরূপ:
যদি ইনপুট অ্যারে হয়:
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 ] ]