884. 两句话中的不常见单词『简单』

Posted zhiyin1209

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了884. 两句话中的不常见单词『简单』相关的知识,希望对你有一定的参考价值。

题目来源于力扣(LeetCode

一、题目

884. 两句话中的不常见单词

题目相关标签:哈希表

技术图片

提示:

  • 0 <= A.length <= 200
  • 0 <= B.length <= 200
  • AB 都只包含空格和小写字母。

二、解题思路

  1. 定义 Map,并通过字符串的 split() 方法,对字符串 A 与 B 中的进行空格的分隔

  2. 遍历两个字符串数组,将字符串与字符串出现的次数添加到 Map 中

  3. 遍历 Map,对字符串(键)出现次数(值)等于 1 的字符串元素添加到 list 结果中

三、代码实现

public static String[] uncommonFromSentences(String A, String B) {
    Map<String, Integer> map = new HashMap<>();
    List<String> list = new ArrayList<>();

    String[] strsA = A.split(" ");
    String[] strsB = B.split(" ");

    for (String str : strsA) {
        map.put(str, map.getOrDefault(str, 0) + 1);
    }
    for (String str : strsB) {
        map.put(str, map.getOrDefault(str, 0) + 1);
    }

    Set<String> strs = map.keySet();
    for (String str : strs) {
        // 将单词出现次数等于 1 的字符串加入结果集中
        if (map.get(str) < 2) {
            list.add(str);
        }
    }

    return list.toArray(new String[list.size()]);
}

四、执行用时

技术图片

五、部分测试用例

public static void main(String[] args) {
    String A = "this apple is sweet", B = "this apple is sour";  
    // output: "sweet","sour"
//    String A = "apple apple", B = "banana";  // output: "banana"

    String[] result = uncommonFromSentences(A, B);
    System.out.println(Arrays.toString(result));
}

以上是关于884. 两句话中的不常见单词『简单』的主要内容,如果未能解决你的问题,请参考以下文章

leetcode-884两句话中的不常见单词

leetcode884. 两句话中的不常见单词

leetcode 884. 两句话中的不常见单词 (python)

LeetCode 884 两句话中的不常见单词[字符串] HERODING的LeetCode之路

LeetCode 884. 两句话中的不常见单词 / 1342. 将数字变成 0 的操作次数(计算二进制长度统计1的个数) / 1763. 最长的美好子字符串(分治)

JAVA 两句话中的不常见单词