-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBasic17.py
More file actions
28 lines (27 loc) · 819 Bytes
/
Basic17.py
File metadata and controls
28 lines (27 loc) · 819 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Write a Python program to get all strobogrammatic numbers that are of length n.
#https://github.com/keon/algorithms/blob/master/math/generate_strobogrammtic.py
def gen_strobogrammatic(n):
'''
:type n: int
:rtype: List[str]
'''
result = helper(n,n)
return result
def helper(n,length):
if n==0:
return [""]
if n == 1:
return ["1","0","8"]
middles = helper(n-2,length)
result= []
for middle in middles:
if n!= length:
result.append("0"+middle+"0")
result.append("8"+middle+"8")
result.append("1"+middle+"1")
result.append("9"+middle+"6")
result.append("6"+middle+"9")
return result
print("n = 2 : \n",gen_strobogrammatic(2))
print("n = 3",gen_strobogrammatic(3))
print("n = 4 \n",gen_strobogrammatic(4))