Python 判斷兩個句子是否相似
假設我們有兩個句子 s 和 t。我們必須檢查它們是否相似。這裡句子只包含英文字母。當可以透過在一個給定句子中新增任意句子(可能為空)使兩個句子相等時,這兩個句子就被認為是相似的。
因此,如果輸入類似於 s = "we live at city Kolkata" t = "city Kolkata",則輸出將為 True,因為我們可以透過新增句子 "we live in" 從 t 獲得 s。
為了解決這個問題,我們將遵循以下步驟:
s1 := s 中單詞的列表
s2 := t 中單詞的列表
如果 s1 的大小 > s2 的大小,則
交換 s1 和 s2
當 s1 不為空時,執行以下操作:
如果 s2[0] 與 s1[0] 相同,則
從 s2 中刪除第一個單詞
從 s1 中刪除第一個單詞
否則,如果 s2 的最後一個單詞與 s1 的最後一個單詞相同,則
從 s2 中刪除最後一個單詞
從 s1 中刪除最後一個單詞
否則,
返回 false
返回 true
示例
讓我們看看下面的實現,以便更好地理解:
def solve(s, t): s1 = s.split() s2 = t.split() if len(s1) > len(s2): s1,s2 = s2,s1 while(s1): if(s2[0]==s1[0]): s2.pop(0) s1.pop(0) elif(s2[-1]==s1[-1]): s2.pop() s1.pop() else: return(False) return(True) s = "we live at city Kolkata" t = "city Kolkata" print(solve(s, t))
輸入
"we live at city Kolkata", "city Kolkata"
輸出
True
廣告