हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो 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 ] ]