884 兩句話中的不常見單詞

2021-10-22 04:28:05 字數 1157 閱讀 7548

給定兩個句子 a 和 b 。 (句子是一串由空格分隔的單詞。每個單詞僅由小寫字母組成。)

如果乙個單詞在其中乙個句子中只出現一次,在另乙個句子中卻沒有出現,那麼這個單詞就是不常見的。

返回所有不常用單詞的列表。

您可以按任何順序返回列表。

示例 1:

其實我們要注意審題,在乙個句子只出現一次,在另乙個句子沒有出現,這句話的意思不就是在兩個句子中都只出現一次。所以我們只要把兩個句子合併,找到唯一的單詞就可以。我一開始還傻乎乎的三重迴圈,兩個單獨判斷,特別傻。

知道如何做,這個題還有兩個難點:1、如何把字串分割成乙個個的單詞

2、雜湊的話如何找到乙個雜湊函式,用不同的座標表示不同的單詞,那種取模的只適用於數字,對於字串沒有意義。所以這裡用到了map這個stl庫里的只是。map,就可以把字串和數字對應起來。

字串分割我們可以手動分割,也可以用istringstream函式自動分割

手動分割:

class

solution

} string temp = str.

substr

(start,str.

size()

-start)

; res.

push_back

(temp)

; mapint> hash;

for(

int i =

0;isize()

;i++

) vector resa;

for(

auto it = hash.

begin()

;it != hash.

end(

);it++)}

return resa;}}

;

自動分割

class

solution

vector ans;

for(

auto it=cnt.

begin()

;it!=cnt.

end(

);it++

)return ans;}}

;istringstream物件可以繫結一行字串,然後以空格為分隔符把該行分隔開來。

884 兩句話中的不常見單詞

leetcode weekly contest 97的第一道題目,分值為3分。原題目要求如下 給定兩個句子 a 和 b 句子是一串由空格分隔的單詞。每個單詞僅由小寫字母組成。如果乙個單詞在其中乙個句子中只出現一次,在另乙個句子中卻沒有出現,那麼這個單詞就是不常見的。返回所有不常用單詞的列表。您可以按...

884 兩句話中的不常見單詞

給定兩個句子 a 和 b 句子是一串由空格分隔的單詞。每個單詞僅由小寫字母組成。如果乙個單詞在其中乙個句子中只出現一次,在另乙個句子中卻沒有出現,那麼這個單詞就是不常見的。返回所有不常用單詞的列表。您可以按任何順序返回列表。思路 利用split 將字串轉換成列表,合併兩個列表,如果元素只有1個,就是...

884 兩句話中的不常見單詞

給定兩個句子 a 和 b 句子是一串由空格分隔的單詞。每個單詞僅由小寫字母組成。如果乙個單詞在其中乙個句子中只出現一次,在另乙個句子中卻沒有出現,那麼這個單詞就是不常見的。返回所有不常用單詞的列表。您可以按任何順序返回列表。示例 1 示例 2 題意 返回只出現一次的單詞 用字典計數,返回值為1的單詞...