Rumah  >  Artikel  >  hujung hadapan web  >  Cari puncak susunan puncak pusat dalam JavaScript

Cari puncak susunan puncak pusat dalam JavaScript

WBOY
WBOYke hadapan
2023-08-24 12:21:07808semak imbas

. i 在 JavaScript 中查找中心峰值数组的峰值

arr[0]

arr[ i] > arr[i+ 1] > . .. > arr[arr.length - 1]

  • Soalan
  • Kita perlu menulis fungsi JavaScript yang menerima arr tatasusunan angka sebagai parameter pertama dan satu-satunya.

    Tatasusunan input ialah tatasusunan puncak tengah. Fungsi kami harus mengembalikan indeks puncak tatasusunan puncak pusat ini.

    • Contohnya, jika input kepada fungsi ialah

    • input
    • const arr = [4, 6, 8, 12, 15, 11, 7, 4, 1];

    • output
  • const output = 4;

output penerangan

kerana elemen pea pada array

kerana elemen pea pada 4.

Contoh

Berikut ialah kod - Demonstrasi langsung

const arr = [4, 6, 8, 12, 15, 11, 7, 4, 1];
const findPeak = (arr = []) => {
   if(arr.length < 3) {
      return -1
   }
   const helper = (low, high) => {
      if(low > high) {
         return -1
      }
      const middle = Math.floor((low + high) / 2)
      if(arr[middle] <= arr[middle + 1]) {
         return helper(middle + 1, high)
      }
      if(arr[middle] <= arr[middle - 1]) {
         return helper(low, middle - 1)
      }
      return middle
   }
   return helper(0, arr.length - 1)
};
console.log(findPeak(arr));

Output

4

Atas ialah kandungan terperinci Cari puncak susunan puncak pusat dalam JavaScript. 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