MCPcopy Create free account
hub / github.com/codemistic/Data-Structures-and-Algorithms / helper

Method helper

Python/decodeWays.py:11–36  ·  view source on GitHub ↗
(self,s,mp)

Source from the content-addressed store, hash-verified

9g_d = dict()
10class Solution():
11 def helper(self,s,mp):
12 if(s in g_d):
13 return g_d[s]
14 if(s[0] == '0'): # if the string starts with 0, you cannot decode
15 return 0
16 if(len(s) == 2): # len(s) == 2; two cases : checking two characters(s[0] && s[1]) seperately and the s[0:2]
17 return check(s[0:2],mp) + self.helper(s[1:],mp)
18 if(len(s) == 1 ):
19 return int(s in mp.keys())
20 """
21 There are two cases
22 * Pick one character from the front
23 * Check if the charcater chosen is valid
24 * Pick two character from the front
25 * Check if the charcater chosen is valid
26 the conditions below help to validate the conditions mentioned here.
27 """
28 if not check(s[0:2],mp) and check(s[0:1],mp):
29 g_d[s] = self.helper(s[1:],mp)
30 return g_d[s]
31 if not check(s[0:1],mp) and check(s[0:2],mp):
32 g_d[s] = self.helper(s[2:],mp)
33 return g_d[s]
34 g_d[s] = self.helper(s[1:],mp) + self.helper(s[2:],mp)
35
36 return g_d[s]
37 def numDecodings(self, s):
38 """
39 :type s: str

Callers 1

numDecodingsMethod · 0.95

Calls 1

checkFunction · 0.70

Tested by

no test coverage detected