Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm chuỗi con dài nhất giữa hai ký tự giống nhau trong JavaScript


Cần viết hàm JavaScript nhận một chuỗi. Hàm tìm và trả về độ dài chuỗi con dài nhất bị kẹp giữa hai chữ cái giống nhau.

Ví dụ - Nếu chuỗi đầu vào:

const str = 'avbghvh';

Đầu ra nên là:

const output = 3;

vì chuỗi con dài nhất mong muốn là 'bgh' giữa hai chữ v.

Ví dụ

const str = 'avbghvh'; 
const longestSub = (str = '') => { 
    const map = new Map(); 
    let max = -1; 
    for(let i = 0; i < str.length; i++){ 
        if(map.has(str.charAt(i))){ 
            max = Math.max(max, i - map.get(str.charAt(i)) - 1); 
        }else{ 
            map.set(str.charAt(i), i); 
        }; 
    }; 
    return max; 
}; 
console.log(longestSub(str));

Kết quả

Điều này sẽ tạo ra đầu ra sau:

3