Maison > Article > interface Web > Programme JavaScript pour calculer efficacement la somme des diagonales de la matrice
Nous allons écrire un programme en JavaScript pour calculer efficacement la somme des diagonales d'une matrice. Pour ce faire, nous utiliserons une structure de boucle pour parcourir la matrice et ajouter des éléments situés aux positions correspondant aux diagonales. En tirant parti des propriétés mathématiques des matrices, nous pouvons minimiser la quantité de calculs nécessaires pour additionner les diagonales. Avec cette approche, nous serons capables de gérer des matrices de différentes tailles de manière efficace sur le plan informatique.
Pour calculer la somme des diagonales d'une matrice, il faut additionner les valeurs des éléments de la diagonale principale (en haut à gauche vers en bas à droite) et de la diagonale secondaire (en haut à droite vers en bas - gauche)
Vous pouvez utiliser une approche à double boucle où une boucle traverse les lignes et la deuxième boucle traverse les colonnes pour accéder aux éléments en diagonale.
Nous pouvons conserver deux variables pour stocker la somme des éléments respectivement sur la diagonale principale et la sous-diagonale.
Pour accéder aux éléments de la diagonale principale, nous devons ajouter l'index de ligne et l'index de colonne actuels, tandis que pour les éléments de la diagonale secondaire, nous devons soustraire l'index de colonne de l'index de ligne.
李>Enfin, nous renvoyons la somme des deux variables comme résultat, ce qui donnera la somme des éléments sur les deux diagonales de la matrice.
Voici un exemple de programme JavaScript qui calcule efficacement la somme des diagonales d'une matrice -
function diagonalSum(matrix) { let sum = 0; let n = matrix.length; for (let i = 0; i < n; i++) { sum += matrix[i][i]; sum += matrix[i][n - i - 1]; } if (n % 2 !== 0) { let mid = Math.floor(n / 2); sum -= matrix[mid][mid]; } return sum; } const matrix = [[1, 2, 3],[4, 5, 6], [7, 8, 9]]; console.log(diagonalSum(matrix));
Initialisez la variable sum pour stocker la somme des diagonales, et initialisez la variable n pour stocker le nombre de lignes dans la matrice.
Utilisez une boucle for pour parcourir la matrice, en ajoutant les valeurs diagonales à sum. Pour chaque itération i, on ajoute la diagonale principale matrix[ i][i] et l'anti-diagonale matrix[i][n - i - 1].
Si le nombre de lignes de la matrice est impair, on soustrait la valeur du milieu matrix[mid][mid] (où mid est l'indice de la ligne du milieu, calculé à l'aide de Math.floor(n / 2 )) car il sera ajouté deux fois.
Renvoie la valeur de la somme.
La complexité temporelle de cet algorithme est O(n), ce qui en fait une solution efficace pour calculer la somme des diagonales de la matrice.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!