884 兩句話中的不常見單詞

2021-09-13 12:16:24 字數 1120 閱讀 5628

leetcode weekly contest 97的第一道題目,分值為3分。原題目要求如下:

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

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

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

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

示例 1:

這個題目其實很簡單,解題步驟如下:

1.先統計每個單詞的出現次數,生成以單詞和出現次數為元素的集合

2.獲取兩個集合不相交且集合元素**現次數為1的元素

以示例1為例子:

獲取到的元素如下:

集合a

集合b

2.我取不相交的部分的思路是先取出相交的部分集合c,然後分別取出集合a和集合b中集合c且出現次數不為1的元素:

集合c

結果集合

[,]最後取出結果集合中的單詞即可

["sweet","sour"]

public string uncommonfromsentences(string a, string b) }}

caldiff(mapa, sameset, set);

caldiff(mapb, sameset, set);

return set.toarray(new string[set.size()]);

}/**

* 返回句子中每個單詞的出現次數統計情況,key為單詞,value為出現次數

* @param str

* @return

*/private mapgetcountmap(string str) else }}

return map;

}/**

* 取出map中不存在重複集合中的key,且key的value不為1

* @param map

* @param sameset 重複集合

* @param set

*/private void caldiff(mapmap, setsameset, setset) }}

}

884 兩句話中的不常見單詞

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

884 兩句話中的不常見單詞

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

884 兩句話中的不常見單詞

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