समस्या
हमें एक JavaScript फ़ंक्शन लिखना है जो लिटरल की एक 2-D सरणी, arr, को पहला और एकमात्र तर्क के रूप में लेता है।
हमारे फ़ंक्शन को जांचना चाहिए कि क्या शीर्ष-बाएं से नीचे-दाएं तक का प्रत्येक विकर्ण में समान तत्व है।
यदि ऐसा है, तो हमें true वापस करना चाहिए, अन्यथा false।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है
इनपुट
const arr = [ [6, 7, 8, 9], [2, 6, 7, 8], [1, 2, 6, 7], ];
आउटपुट
const output = true;
आउटपुट व्याख्या
उपरोक्त सरणी में, विकर्ण हैं -
[1], [2,2], [6,6,6], [7,7,7], [8,8], [9]
प्रत्येक विकर्ण में सभी तत्व समान हैं, इसलिए उत्तर True है।
उदाहरण
const arr = [
[6, 7, 8, 9],
[2, 6, 7, 8],
[1, 2, 6, 7],
];
const checkMatrix = (arr = []) => {
const validate = (row, col) => {
while (
row < arr.length
&& col < arr[0].length
&& arr[row + 1]
&& arr[row + 1][col + 1] !== undefined
) {
if (arr[row + 1][col + 1] !== arr[row][col]) {
return false;
}
row += 1;
col += 1;
}
return true;
};
for (let i = 0; i < arr[0].length; i++) {
if (!validate(0, i)) {
return false;
}
}
for (let i = 0; i < arr.length; i++) {
if (!validate(i, 0)) {
return false;
}
}
return true;
};
console.log(checkMatrix(arr));
आउटपुट
true