Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Các tổ hợp có thể và chuyển đổi thành thuật toán bảng chữ cái trong JavaScript


Giả sử chúng ta được cho ánh xạ a = 1, b = 2, ... z = 26, và một thông điệp đã mã hóa. Chúng ta cần viết một hàm JavaScript nhận thông điệp đó.

Hàm sẽ đếm số cách nó có thể được giải mã.

Ví dụ, thông điệp '111' sẽ cho 3, vì nó có thể được giải mã thành 'aaa', 'ka', và 'ak'.

Ví dụ

Mã thực hiện:

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

Kết quả

Kết quả trong console:

3