【LeetCode】884. Uncommon Words from Two Sentences

揚-avatar-img
發佈於Leetcode
更新於 發佈於 閱讀時間約 5 分鐘

題目敘述

sentence is a string of single-space separated words where each word consists only of lowercase letters.

A word is uncommon if it appears exactly once in one of the sentences, and does not appear in the other sentence.

Given two sentences s1 and s2, return a list of all the uncommon words. You may return the answer in any order.


  1. 句子(sentence)的定義:小寫字母拼成的單字所組成的字串,每個單字間由單一個空白字元進行分隔。
  2. uncommon的定義:在單一句子內只出現一次,並且沒有出現在另外一句中。
  3. 給兩個句子s1s2,回傳所有符合uncommon定義的單字,可以為任意順序。


範例

Example 1:
Input: s1 = "this apple is sweet", s2 = "this apple is sour"
Output: ["sweet","sour"]

Explanation:
The word "sweet" appears only in s1, while the word "sour" appears only in s2.

Example 2:
Input: s1 = "apple apple", s2 = "banana"
Output: ["banana"]


限制條件

Constraints:
1 <= s1.length, s2.length <= 200
s1 and s2 consist of lowercase English letters and spaces.
s1 and s2 do not have leading or trailing spaces.
All the words in s1 and s2 are separated by a single space.
  • 單一句子內不超過200個字元
  • 單一句子由小寫英文字母及空白所組成
  • 單一句子的首尾沒有空白
  • 所有句子中的單字都由空白分隔


思考方向

  1. 有去重複的特性,考慮用SetHashMap
  2. 句子的結構定義是一樣的,可以串在一起後,用迴圈一次處理。
  3. 考慮兩句都有出現,但在個別句子都只出現一次的案例,在組合後的單一句子中會出現重複的單字,需另外進行排除,例如Example 1中的this、apple、is
  4. 回傳結果的型別轉換處理,以符合題目要求的字串陣列。


解法

class Solution {
public String[] uncommonFromSentences(String s1, String s2) {
Set<String> set = new HashSet<>();
Set<String> duplicate = new HashSet<>();
String all = String.join(" ", s1, s2);

for (String word : all.split(" ")) {
if (set.contains(word)) {
duplicate.add(word);
continue;
}
set.add(word);
}

for (String word : duplicate) {
set.remove(word);
}

String[] result = set.toArray(new String[0]);
return result;
}
}
留言
avatar-img
留言分享你的想法!
avatar-img
Err500
12會員
76內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
Err500的其他內容
2023/04/15
題目 Given two integer arrays pushed and popped each with distinct values, return true if this could have been the result of a sequence of push and pop
Thumbnail
2023/04/15
題目 Given two integer arrays pushed and popped each with distinct values, return true if this could have been the result of a sequence of push and pop
Thumbnail
2022/04/22
題目: 給一個陣列,判斷內容是不是遞增或遞減
Thumbnail
2022/04/22
題目: 給一個陣列,判斷內容是不是遞增或遞減
Thumbnail
2021/10/09
Input: head = [1,2,3,4,5], n = 2 Output: [1,2,3,5]
Thumbnail
2021/10/09
Input: head = [1,2,3,4,5], n = 2 Output: [1,2,3,5]
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
當你邊吃粽子邊看龍舟競賽直播的時候,可能會順道悼念一下2300多年前投江的屈原。但你知道端午節及其活動原先都與屈原毫無關係嗎?這是怎麼回事呢? 本文深入探討端午節設立初衷、粽子、龍舟競渡與屈原自沉四者。看完這篇文章,你就會對端午、粽子、龍舟和屈原的四角關係有新的認識喔。那就讓我們一起解開謎團吧!
Thumbnail
當你邊吃粽子邊看龍舟競賽直播的時候,可能會順道悼念一下2300多年前投江的屈原。但你知道端午節及其活動原先都與屈原毫無關係嗎?這是怎麼回事呢? 本文深入探討端午節設立初衷、粽子、龍舟競渡與屈原自沉四者。看完這篇文章,你就會對端午、粽子、龍舟和屈原的四角關係有新的認識喔。那就讓我們一起解開謎團吧!
Thumbnail
◆ 句子(sentence)的定義:小寫字母拼成的單字所組成的字串,每個單字間由單一個空白字元進行分隔。 ◆ uncommon的定義:在單一句子內只出現一次,並且沒有出現在另外一句中。 ◆ 給兩個句子s1跟s2,回傳所有符合uncommon定義的單字,可以為任意順序。
Thumbnail
◆ 句子(sentence)的定義:小寫字母拼成的單字所組成的字串,每個單字間由單一個空白字元進行分隔。 ◆ uncommon的定義:在單一句子內只出現一次,並且沒有出現在另外一句中。 ◆ 給兩個句子s1跟s2,回傳所有符合uncommon定義的單字,可以為任意順序。
Thumbnail
題目敘述 Kth Distinct String in an Array 給定一個輸入陣列arr 和 參數k 請返回第k個出現恰好一次的陣列元素。
Thumbnail
題目敘述 Kth Distinct String in an Array 給定一個輸入陣列arr 和 參數k 請返回第k個出現恰好一次的陣列元素。
Thumbnail
題目會給我們一個字串陣列nums,內容都是二進位字串,要求我們造出一個另一個相等長度,新的二進位字串,而且不和字串陣列nums內的重複。 答案可能有不只一組,回傳合任一組合法的答案皆可。
Thumbnail
題目會給我們一個字串陣列nums,內容都是二進位字串,要求我們造出一個另一個相等長度,新的二進位字串,而且不和字串陣列nums內的重複。 答案可能有不只一組,回傳合任一組合法的答案皆可。
Thumbnail
題目會給定我們一個字串s,要求我們計算出同質子字串有幾個? 同質子字串的定義就是子字串內部的字元都相同,例如a, aa, aaa, ... 等等這些就是同質子字串。
Thumbnail
題目會給定我們一個字串s,要求我們計算出同質子字串有幾個? 同質子字串的定義就是子字串內部的字元都相同,例如a, aa, aaa, ... 等等這些就是同質子字串。
Thumbnail
題目會給定兩個字串s,t,把裡面的井字號#視為鍵盤上的backspace,往前(往左方)吃掉最靠近的字元。 請位最後全部依照規則處理完以後,s,t剩下的字串內容兩者是否相等?
Thumbnail
題目會給定兩個字串s,t,把裡面的井字號#視為鍵盤上的backspace,往前(往左方)吃掉最靠近的字元。 請位最後全部依照規則處理完以後,s,t剩下的字串內容兩者是否相等?
Thumbnail
題目給定兩個字串s和t,t是s隨機打散後的字串,並且在t裡面額外多加了一個字元, 要求我們找出額外多加入的那個字元。
Thumbnail
題目給定兩個字串s和t,t是s隨機打散後的字串,並且在t裡面額外多加了一個字元, 要求我們找出額外多加入的那個字元。
Thumbnail
題目會給定我們兩個字串,一個字串s,另一個字串t 要求我們判段字串s是否為字串t的子序列? (也就是s的每個字元都可以在t裡面找到,而且前後相對順序相同)
Thumbnail
題目會給定我們兩個字串,一個字串s,另一個字串t 要求我們判段字串s是否為字串t的子序列? (也就是s的每個字元都可以在t裡面找到,而且前後相對順序相同)
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News