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

ชุดค่าผสมที่เป็นไปได้และแปลงเป็นอัลกอริธึมตัวอักษรใน JavaScript


สมมติว่าเราได้รับการจับคู่ a =1, b =2, ... z =26 และข้อความที่เข้ารหัส เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับข้อความ

ฟังก์ชันควรนับจำนวนวิธีที่ถอดรหัสได้

ตัวอย่างเช่น ข้อความ '111' จะให้ 3 เนื่องจากสามารถถอดรหัสเป็น 'aaa, 'ka' และ 'ak' ได้

ตัวอย่าง

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

const waysToProcess = ( message, ways = 0 ) => {
   if ( message.length ) {
      ways = waysToProcess( message.slice( 1 ,message.length), ways );
      const numCurr = parseInt( message[0] );
      const numNext = "undefined" === typeof message[1] ? null :
      parseInt(message[1]);
      if ( numCurr && numNext
         && numCurr < 3
         && ( numCurr + numNext ) < 27
      ) {
         ways = waysToProcess( message.slice( 2 ,message.length), ways );
      }
   } else {
      ways++;
   }
   return ways;
}
console.log(waysToProcess('111'));

ผลลัพธ์

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

3