สมมติว่าเราได้รับอาร์เรย์ของตัวอักษรที่จัดเรียงซึ่งมีเฉพาะตัวพิมพ์เล็กเท่านั้น และกำหนดเป้ าหมายเป้าหมาย
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์เป็นอาร์กิวเมนต์แรกและตัวอักษรเป็นอาร์กิวเมนต์ที่สอง ฟังก์ชันนี้ควรจะค้นหาองค์ประกอบที่เล็กที่สุดในรายการที่ใหญ่กว่าเป้าหมายที่กำหนด
เราต้องจำไว้ว่าตัวอักษรก็ล้อมรอบ ตัวอย่างเช่น หากเป้าหมายคือ target ='z' และตัวอักษร =['a', 'b'] คำตอบคือ 'a'
ตัวอย่างเช่น −
หากอาร์เรย์อินพุตและตัวอักษรเป็น −
const arr = ["c", "f", "j"]; const target = "a";
จากนั้นผลลัพธ์ควรเป็น −
const output: "c";
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const arr = ["c", "f", "j"]; const target = "a"; const findNearestLetter = (arr = [], target = '') => { let left = 0; let right = arr.length - 1; while (left <= right) { let mid = left + (right - left) / 2; if (arr[mid] <= target) { left ++; } else { right --; }; }; if (left == arr.length) { return arr[0]; }; return arr[left]; }; console.log(findNearestLetter(arr, target));
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
c