class Solution:
def ambiguousCoordinates(self, S):
S = S[1:-1]
res = []
# 加小数点
def f(S):
if not S or (len(S) > 1 and S[0] == "0" and S[-1] == "0"):
# 返回空列表的时候product方法不会迭代
return []
if S == "0":
return [S[0]]
if S[0] == "0" and len(S) > 1:
return [S[0]+ "." + S[1:]]
if S[-1] =="0" and len(S) > 1:
return [S]
# 多个集合的并操作
return [S] + [S[:i] + "." + S[i:] for i in range(1, len(S))]
# 拆数字
for i in range(1,len(S)):
# itertools.product:笛卡尔积的组合过程
for x,y in itertools.product(f(S[:i]), f(S[i:])):
# 列表的添加元素操作
res.append("(%s, %s)"%(x,y))
return res
816. 模糊坐标
最新推荐文章于 2024-09-26 11:55:47 发布