Python程式:判斷兩個字串是否僅在一個相同位置的字元上存在差異
假設我們得到一個數組,包含多個長度相同的字串。我們需要找出是否存在任意兩個字串僅在一個相同位置的字元上存在差異。如果存在這種差異,則返回True,否則返回False。
例如,如果輸入是dict = ['pqrs', 'prqs', 'paqs'],則輸出為True。輸出為True是因為輸入中列出的字串在索引1處都存在差異。因此,如果取任意兩對字串,它們在相同位置上存在差異。
為了解決這個問題,我們將遵循以下步驟:
seens := 一個新的集合
對於dict中的每個單詞,執行以下操作:
對於單詞中的每個索引i和字元c,執行以下操作:
masked_word := word[從索引0到i] + '.' + word[從索引i+1到字串結尾]
如果seens中存在masked_word,則:
返回True
否則:
將masked_word新增到seens
返回False
示例(Python)
讓我們來看下面的實現,以便更好地理解:
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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP