假设,我们提供了一个数组,其中包含多个相同长度的字符串。我们必须找出所提供的字符串中是否有任何两个在同一位置相差一个字符。如果存在这种差异,则返回 true 否则返回 false。
因此,如果输入类似于 dict = ['pqrs', 'prqs', 'paqs'],那么输出将为 True。生成的输出为 True,因为输入中列出的字符串在索引 1 中都不同。因此,如果采用任何两对,则相同位置存在差异。
让我们看看以下实现以获得更好的理解 -
def solve(dict): seens = set() for word in dict: for i, c in enumerate(word): masked_word = word[:i] + '.' + word[i+1:] if masked_word in seens: return True else: seens.add(masked_word) return False print(solve(['pqrs', 'prqs', 'paqs']))
['pqrs', 'prqs', 'paqs']输出结果
True