Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> 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