給出兩個句子words1和words2(每個用乙個字串陣列表示),和乙個相似詞對陣列pairs,你需要判斷兩個句子是否相似。
例如,如果相似詞對是pairs = [[「great」, 「fine」], [「acting」,「drama」], [「skills」,「talent」]],那麼words1 = great acting skills和words2 = fine drama talent是相似的。
需要注意,相似關係是不可傳遞的。例如,如果"great"和"fine"相似,"fine"和"good"相似,"great"和"good"不是一定相似的。
然而,相似性是對稱的。例如,"great"和"fine"相似,則"fine"和"great"也是相似的,這兩者是等價的。
另外,乙個單詞永遠與它本身相似。例如,句子words1 = [「great」], words2 = [「great」], pairs = 是相似的,儘管沒有相似詞對。
最後,兩個句子只有在單詞數相等的情況下才可能相似。所以,句子words1 = [「great」]永遠不可能與句子words2 = [「doubleplus」,「good」]相似。
樣例
樣例1輸入: words1 =
["great"
,"acting"
,"skills"
], words2 =
["fine"
,"drama"
,"talent"
]and pairs =[[
"great"
,"fine"],
["drama"
,"acting"],
["skills"
,"talent"]]
輸出:true
解釋:"great"和"fine"相似
"acting"和"drama"相似
"skills"和"talent"相似
樣例2輸入: words1 =
["fine"
,"skills"
,"acting"
], words2 =
["fine"
,"drama"
,"talent"
]and pairs =[[
"great"
,"fine"],
["drama"
,"acting"],
["skills"
,"talent"]]
輸出:false
解釋:"fine"和"fine"相同
"skills"和"drama"不相似
"acting"和"talent"不相似
注意事項
words1和words2的長度不會超過1000。
pairs的長度不會超過2000。
每乙個pairs[i]的長度是2。
每乙個words[i]和pairs[i]
[j]的長度在[1,
20]範圍內。
class
solution
for(
int i =
0; i < words1.
size()
; i++);
vectortmp2=;if
(!judge.
count
(tmp1)
&&!judge.
count
(tmp2)
&&words1[i]
!=words2[i]
)return
false;}
return
true;}
};
856 句子相似性
中文english 給出兩個句子words1和words2 每個用乙個字串陣列表示 和乙個相似詞對陣列pairs,你需要判斷兩個句子是否相似。例如,如果相似詞對是pairs great fine acting drama skills talent 那麼words1 great acting ski...
734 句子相似性
題目描述 給定兩個句子 words1,words2 每個用字串陣列表示 和乙個相似單詞對的列表 pairs 判斷是否兩個句子是相似的。例如,當相似單詞對是 pairs great fine acting drama skills talent 的時候,great acting skills 和 fi...
1813 句子相似性 III
先把每個句子分成乙個個單詞 然後比較即可,設定flag1 flag2,如果第一次出現不一樣flag 1,之後若一樣flag2 1,若再次不一樣,同時若flag2 1,就是false 如果到最後短的句子沒遍歷到尾,則false 有a a a a a a a a情形 如果從前向後比false,則再從後向...