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 其實我們要注意審題,在乙個句子只出現一次,在另乙個句子沒有出現,這...