Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

สตริงย่อยที่ใหญ่ที่สุดระหว่างอักขระที่เท่ากันสองตัวในสตริงใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงอักขระเป็นอาร์กิวเมนต์เดียว

ฟังก์ชันควรค้นหาสตริงที่ยาวที่สุดซึ่งคั่นระหว่างอักขระสองตัวที่เหมือนกันและส่งคืนความยาว

ตัวอย่างเช่น −

หากสตริงอินพุตเป็น −

const str = 'sadtrsewak';

จากนั้นผลลัพธ์ควรเป็น −

const output = 6;

เพราะระหว่างสอง 'a' เรามีสตริงย่อยที่ยาวที่สุดที่ต้องการของความยาว 6

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const str = 'sadtrsewak';
const longestSubstringBetween = (str = '') => {
   const map = {};
   let res = -1;
   for(let i = 0; i < str.length; i++){
      const el = str[i];
      if(map.hasOwnProperty(str[i])){
         res = Math.max(res, i - map[el] - 1);
      }else{
         map[el] = i;
      };
   };
   return res;
}
console.log(longestSubstringBetween(str));

ผลลัพธ์

ต่อไปนี้เป็นเอาต์พุตคอนโซล -

6