题目:原题链接(中等)
标签:字符串
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
Ans 1 (Python) | O(N3) | O(1) | 60ms (73.91%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。
解法一:
class Solution:
def ambiguousCoordinates(self, S: str) -> List[str]:
# 转换为小数格式(如无法转换则返回None)
def change_to_num(n1, n2):
if int(n1) > 0 and n1[0] == "0":
return None
if int(n1) == 0 and len(n1) > 1:
return None
if n2 and (int(n2) == 0 or n2[-1] == "0"):
return None
if not n2:
return n1
else:
return n1 + "." + n2
S = S[1:-1]
ans = []
for i in range(1, len(S)):
a = S[:i]
b = S[i:]
for j in range(1, len(a) + 1):
aa = change_to_num(a[:j], a[j:])
if aa:
for k in range(1, len(b) + 1):
bb = change_to_num(b[:k], b[k:])
if bb:
ans.append("(" + aa + ", " + bb + ")")
return ans