เราจำเป็นต้องเขียนฟังก์ชัน 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