力扣-816. 模糊坐标

本文最后更新于:2022年11月8日 晚上

题目描述

816

思路及实现

这题一开始我想到的就是,先确定逗号的位置,然后再找小数点的位置,也就是先枚举逗号,再枚举确定逗号之后两部分能组成的不同组合。
但是后面一直卡在如何确定小数点的位置上了,可能是因为数学差生的缘故(悲
所以就去看思路了,大致写了一下思路,然后隔天再根据思路把代码写出来。
下面贴一下自己大概整理的思路和代码:
816

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution:
def ambiguousCoordinates(self, s: str) -> List[str]:
result = []

def spilt(part: str) -> List[str]:
p_list = []
if len(part) == 1 or part[0] != '0': # 拿整数
p_list.append(part)
for p_index in range(1, len(part)): # 确定小数点的位置
if p_index != 1 and part[0] == '0' or part[-1] == '0':
continue
p_list.append(part[:p_index] + "." + part[p_index:])
return p_list

for index in range(1, len(s) - 2): # 枚举逗号的位置
part1 = s[1: index + 1] # 确定逗号的位置后,字符串分为两部分,用来确定两部分中的字串
part2 = s[index + 1: len(s) - 1]
part1_list = spilt(part1) # 第一部分能构成的字串
part2_list = spilt(part2) # 第二部分能构成的子串
for p1 in part1_list:
for p2 in part2_list:
result.append("(" + p1 + ", " + p2 + ")") # 两部分能构成的二维坐标
return result

这里有一只爱丽丝

希望本文章能够帮到您~


力扣-816. 模糊坐标
https://map1e-g.github.io/2022/11/08/leetcode-816/
作者
MaP1e-G
发布于
2022年11月8日
许可协议