Computer >> Máy Tính >  >> Lập trình >> Javascript

Chuỗi con lớn nhất giữa hai ký tự bằng nhau trong một chuỗi trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một chuỗi ký tự làm đối số duy nhất.

Hàm sẽ tìm chuỗi dài nhất được kẹp giữa hai ký tự giống nhau và trả về độ dài của nó.

Ví dụ -

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

const str = 'sadtrsewak';

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

const output = 6;

bởi vì giữa hai 'a', chúng ta có chuỗi con mong muốn dài nhất có độ dài 6.

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

6