Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

Dynamic Programming: ตรวจสอบว่าสตริงที่สองเป็น subsequence ของสตริงแรกใน JavaScript


ภาพรวม

เราได้รับสตริงสองสตริง str1 และ str2 ต้องเขียนฟังก์ชันตรวจสอบว่า str1 เป็น subsequence ของ str2 หรือไม่

Subsequence คือสตริงใหม่ที่สร้างจากสตริงต้นฉบับโดยลบตัวอักษรบางส่วน (อาจไม่ลบเลย) โดยไม่เปลี่ยนตำแหน่งสัมพัทธ์ของตัวอักษรที่เหลือ

เช่น "ace" เป็น subsequence ของ "abcde" แต่ "aec" ไม่ใช่

ตัวอย่างโค้ด

const str1 = 'ace';
const str2 = 'abcde';

const isSubsequence = (str1, str2) => {
  let i = 0;
  let j = 0;
  while(i < str1.length) {
    if(j === str2.length) {
      return false;
    }
    if(str1[i] === str2[j]) {
      i++;
    }
    j++;
  }
  return true;
};

console.log(isSubsequence(str1, str2));

ผลลัพธ์ในคอนโซล

true