Program JavaScript untuk mengira jumlah pepenjuru matriks dengan cekap

王林
Lepaskan: 2023-09-18 09:19:35
ke hadapan
1327 orang telah melayarinya

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));
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan