zoukankan      html  css  js  c++  java
  • leetcode刷题笔记四十九 字母异位词分组

    leetcode刷题笔记四十九 字母异位词分组

    源地址:49. 字母异位词分组

    问题描述:

    给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。

    示例:

    输入: ["eat", "tea", "tan", "ate", "nat", "bat"]
    输出:
    [
    ["ate","eat","tea"],
    ["nat","tan"],
    ["bat"]
    ]
    说明:

    所有输入均为小写字母。
    不考虑答案输出的顺序。

    代码补充:

    //异位词特点为构成词的字符一致,位置不同
    //通过对字符串使用sorted,编译器建议使用toSeq.sorted.unwrap方法
    //构建(sortedStr, List[String])
    //由此,通过使用k-v键值对, 将异位词进行分类,放入相关的列表中
    //再将所有的列表拼接返回皆可
    import scala.collection.mutable
    object Solution {
        def groupAnagrams(strs: Array[String]): List[List[String]] = {
          if (strs.length == 0) return List()
          val strMap = mutable.Map.empty[String, mutable.ListBuffer[String]]
          val ans = mutable.ListBuffer[List[String]]()
          for(elem <- strs){
            val sortedStrs = elem.toSeq.sorted.unwrap
            if(!strMap.contains(sortedStrs)) strMap.put(sortedStrs, mutable.ListBuffer())
            strMap(sortedStrs) += elem
          }
          for(elem <- strMap.values) ans += elem.toList
          return ans.toList
        }
    }
    
  • 相关阅读:
    实现发送邮件
    c#操作sqlite(包含中文支持)
    C# & SQLite
    卸载impala
    kudu集成impala
    Kudu的卸载(cdh)
    Kudu的集群安装(1.6.0-cdh5.14.0)
    ELK日志平台搭建
    logstash之OutPut插件
    logstash之Filter插件
  • 原文地址:https://www.cnblogs.com/ganshuoos/p/13256392.html
Copyright © 2011-2022 走看看