我一直在尝试在Python中实现布尔表达式的制表方法。为此,我需要检查两个给定字符串是否仅在一个索引处不同。
例如,对于以下示例,该函数应返回以下结果:
例如,对于以下示例,该函数应返回以下结果:
0011
和0111
- 真,因为两者仅在位置1处不同0-001
和0-101
- 真,因为只在2处不同0-011
和0-101
- 假,因为在2,3处不同
def match(s1,s2):
l=[False,-1]##returns false when they cant be combined
for i in range(len(s1)):
if s1[:i]==s2[:i] and s1[i]!=s2[i] and s1[i+1:]==s2[i+1:]:
l= [True,i]
break
return l
我希望以非常快的速度(低复杂度)实现它。在Python中有没有一种方法可以做到这一点?