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

ค้นหาพลังของสตริงจากสตริงที่มีตัวอักษรซ้ำกันใน JavaScript


กำลังของสตริงคือความยาวสูงสุดของสตริงย่อยที่ไม่ว่างเปล่าซึ่งมีอักขระที่ไม่ซ้ำกันเพียงตัวเดียวเท่านั้น

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

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

const str = "abbcccddddeeeeedcba"

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

เนื่องจากสตริงย่อย "eeeee" มีความยาว 5 โดยมีอักขระ 'e' เท่านั้น

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const str = "abbcccddddeeeeedcba"
const maxPower = (str = '') => {
   let power = 1
   const sz = str.length - 1
   for(let i = 0; i < sz; ++i) {
      let count = 1
      while(i < sz && str[i + 1] === str[i] && ++i)
      power = Math.max(power, ++count)
   }
   return power
};
console.log(maxPower(str));

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

5