【題目描述】
給定兩個句子 A 和 B 撵儿。 (句子是一串由空格分隔的單詞再榄。每個單詞僅由小寫字母組成蝙叛。)
如果一個單詞在其中一個句子中只出現(xiàn)一次,在另一個句子中卻沒有出現(xiàn)绞惦,那么這個單詞就是不常見的逼纸。
返回所有不常用單詞的列表。
您可以按任何順序返回列表济蝉。
【示例1】
輸入:A = "this apple is sweet", B = "this apple is sour"
輸出:["sweet","sour"]
【示例2】
輸入:A = "apple apple", B = "banana"
輸出:["banana"]
【提示】
1杰刽、0 <= A.length <= 200
2菠发、0 <= B.length <= 200
3、A 和 B 都只包含空格和小寫字母贺嫂。
【思路】
1滓鸠、返回兩個句子中 只出現(xiàn)一次的字符串!
2第喳、時間復(fù)雜度O(m+n)糜俗,m,n分別為A、B句子的長度
3曲饱、空間復(fù)雜度O(m+n)
Swift代碼實(shí)現(xiàn):
func uncommonFromSentences(_ A: String, _ B: String) -> [String] {
var dic = [String:Int]()
var res = [String]()
for str in A.components(separatedBy: " ") {
var v = dic[str] ?? 0
v+=1
dic[str] = v
}
for sub in B.components(separatedBy: " ") {
var v = dic[sub] ?? 0
v+=1
dic[sub] = v
}
for (key,value) in dic {
if value == 1 {
res.append(key)
}
}
return res
}