Rumah  >  Artikel  >  hujung hadapan web  >  Program JavaScript untuk mengira jumlah pepenjuru matriks dengan cekap

Program JavaScript untuk mengira jumlah pepenjuru matriks dengan cekap

王林
王林ke hadapan
2023-09-18 09:19:351322semak imbas

JavaScript 程序可有效计算矩阵对角线之和

Kami akan menulis atur cara dalam JavaScript untuk mengira jumlah pepenjuru matriks dengan cekap. Untuk melakukan ini, kami akan menggunakan struktur gelung untuk lelaran ke atas matriks dan menambah elemen yang terletak pada kedudukan yang sepadan dengan pepenjuru. Dengan mengambil kesempatan daripada sifat matematik matriks, kita boleh meminimumkan jumlah pengiraan yang diperlukan untuk menjumlahkan pepenjuru. Dengan pendekatan ini kita akan dapat mengendalikan matriks pelbagai saiz dengan cara yang cekap dari segi pengiraan.

Kaedah

  • Untuk mengira jumlah pepenjuru matriks, kita perlu menambah nilai elemen pada pepenjuru utama (kiri atas ke kanan bawah) dan pepenjuru sekunder (kanan atas ke bawah - kiri)

  • Anda boleh menggunakan pendekatan gelung berganda di mana satu gelung melalui baris dan gelung kedua melalui lajur untuk mengakses elemen pada pepenjuru.

  • Kita boleh menyimpan dua pembolehubah untuk menyimpan jumlah elemen pada pepenjuru utama dan subpepenjuru masing-masing.

  • Untuk mengakses elemen pada pepenjuru utama, kita perlu menambah indeks baris dan indeks lajur semasa, manakala untuk elemen pada pepenjuru sekunder, kita perlu menolak indeks lajur daripada indeks baris.

    李>
  • Akhir sekali, kami mengembalikan hasil tambah dua pembolehubah sebagai hasilnya, yang akan memberikan jumlah unsur pada kedua-dua pepenjuru matriks.

Contoh

Berikut ialah contoh program JavaScript yang mengira jumlah pepenjuru matriks dengan cekap -

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));

Arahan

  • Mulakan pembolehubah sum untuk menyimpan hasil tambah pepenjuru, dan mulakan pembolehubah n untuk menyimpan bilangan baris dalam matriks.

  • Gunakan gelung for untuk lelaran ke atas matriks, menambah nilai pepenjuru kepada jumlah. Untuk setiap lelaran i, kami menambah pepenjuru utama matriks[ i][i] dan anti-pepenjuru matriks[i][n - i - 1].

  • Jika bilangan baris matriks adalah ganjil, kita tolak nilai tengah matriks[pertengahan][pertengahan] (di mana pertengahan ialah indeks baris tengah, dikira menggunakan Math.floor(n / 2 )) kerana akan ditambah dua kali.

  • Mengembalikan nilai jumlah.

Kerumitan masa algoritma ini ialah O(n), menjadikannya penyelesaian yang cekap untuk mengira jumlah pepenjuru matriks.

Atas ialah kandungan terperinci Program JavaScript untuk mengira jumlah pepenjuru matriks dengan cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Firebase dan penyepaduan webArtikel seterusnya:Firebase dan penyepaduan web