Computer >> 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 JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript sử dụng một chuỗi. Hàm sẽ tìm và trả về độ dài của chuỗi con dài nhất được kẹp giữa hai chữ cái giống nhau.

Ví dụ -

Nếu chuỗi đầu vào là -

const str = 'avbghvh';

Sau đó, đầu ra phải là -

const output = 3;

bởi vì chuỗi con dài nhất mong muốn là 'bgh' giữa hai 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));

Đầu ra

Điều này sẽ tạo ra kết quả sau -

3