Skip to main content

DECODE WAYS - LEETCODE PROBLEM 91

 A message containing letters from A-Z is being encoded to numbers using the following mapping:

'A' -> 1
'B' -> 2
...
'Z' -> 26

Given a non-empty string containing only digits, determine the total number of ways to decode it.

Example 1:

Input: "12"
Output: 2
Explanation: It could be decoded as "AB" (1 2) or "L" (12).

Example 2:

Input: "226"
Output: 3
Explanation: It could be decoded as "BZ" (2 26), "VF" (22 6), or "BBF" (2 2 6).
class Solution {
    public int numDecodings(String s) {
        
        int ways=0;
        ways=countDecoding(s.toCharArray(),s.length());
        return ways;
    }
    
    int countDecoding(char[] digits, int n){

       // System.out.println(" digits "+disgits[0]);
              // for base condition "01123" should return 0    
        
                 // base cases 
    if (n == 0 || (n == 1 && digits[0]!='0')) 
       return 1; 
        
    
        
    if (digits[0]=='0')   { 
         return 0; 
    }
    

   
     // Initialize count 
    int count = 0;  
    
    // If the last digit is not 0, then  
    // last digit must add to 
    // the number of words 
    
    if(digits[n - 1] > '0') 
    count = countDecoding(digits, n - 1); 
    
    
     // If the last two digits form a number 
    // smaller than or equal to 26, 
    // then consider last two digits and recur 
    if (digits[n - 2] == '1' || (digits[n - 2] == '2' && digits[n - 1] < '7')) 
    count += countDecoding(digits, n - 2); 
  
    return count; 
}
}




https://leetcode.com/problems/decode-ways/

Comments

.

Popular posts from this blog

Best LeetCode Lists for Interviews

Here is a list of some of the best questions asked in interviews:-  Must do 75 https://leetcode.com/list/5hkn6wze/ Must do 60  https://leetcode.com/list/5eie1aqd/ Must do medium:-  https://leetcode.com/list/5xaelz7g/ Must do Easy:-   https://leetcode.com/list/5r7rxpr1/ Graph:-  https://leetcode.com/list/x18ervrd/  Dynamic Programming:-    https://leetcode.com/list/x14z0dxr/  FaceBook interviews:- https://leetcode.com/list/xyu98pv6/  Amazon Interviews:-  https://leetcode.com/list/5hkniyf7/  Google Interviews:- https://leetcode.com/list/xyu9xfo1/ https://github.com/nazarmubeen/TopProblems/blob/master/README.md

Career in software engineering : Roles to know

when someone starts a career in software engineering there are plenty of options. Although most graduates have the same degree, everyone starts in a different role. Developer / Coder - Engineers in this role get a chance to actually implement and write software. At the start of a career mostly it is about fixing defects in existing software then taking small changes to the software and eventually getting to the point to handle and implement more complex changes.  Quality analysts / Quality engineers - Engineers in this role test and automate software. This is a challenging role where one has to know about the full functionality of the software and test accurately so the software built is of high quality. This role also involves the automation of test cases and preparing a test suite that can be run and detect issues automatically. Release Engineers - Once the software is built and tested release engineers are responsible for pushing a set of code to production. A production is a ...