Question

49. Group Anagrams

Solution

思路:维护一个map,key是输入数组中的字符串(根据字符排好序)

Java实现:

public List<List<String>> groupAnagrams(String[] strs) {
Map<String, List<String>> map = new HashMap<>();
for (String str : strs) {
String key = getSorted(str); List<String> list = map.get(key);
if (list == null) {
list = new ArrayList<>();
map.put(key, list);
}
list.add(str); // if (!map.containsKey(key)) map.put(key, new ArrayList());
// map.get(key).add(str);
}
return new ArrayList<>(map.values()); // map转list
} // 返回根据字符排序后的字符串 如:cba返回abc
private String getSorted(String str) {
char[] arr = str.toCharArray();
Arrays.sort(arr);
// return new String(arr);
return String.valueOf(arr); // 这样写效率更高
}

最新文章

  1. 提高开发效率的十五个Visual Studio 2010使用技巧
  2. HBase查找一条数据的过程
  3. CMakeLists.txt for nginx
  4. 从 MySQL+MMM 到 MariaDB+Galera Cluster : 一个高可用性系统改造
  5. android 内存泄露之jni local reference table overflow (max=512)
  6. 20150511---Timer计时器(备忘)
  7. 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程
  8. 如何获取fragment里的控件
  9. BaiduSpeechDemo【百度语音SDK集成】(基于v3.0.7.3)
  10. 浅谈Kotlin(一):简介及Android Studio中配置
  11. Win10删除微软拼音输入法的方法
  12. HTML5移动应用左右滑动touchmove touchmove touchend 实例
  13. 抽象工厂 C++实现
  14. swift 自定义弹框
  15. shiro学习详解(开篇)
  16. erlang通讯解析浮点数的一些问题
  17. bzoj 2563 贪心 思想
  18. Fp关联规则算法计算置信度及MapReduce实现思路
  19. .Net Core2.1 秒杀项目一步步实现CI/CD(Centos7.2)系列一:k8s高可用集群搭建总结以及部署API到k8s
  20. SpringBoot学习(三)—— springboot快速整合swagger文档

热门文章

  1. python模块 | 随机数模块—random模块
  2. 纯干货数学推导_傅里叶级数与傅里叶变换_Part3_周期为2L的函数展开
  3. 开发一个自己的 CSS 框架(四)
  4. java中"Static块"是怎么回事,怎么用的,有什么意义
  5. java中如何知道一个字符串中有多少个字,把每个字打印出来,举例
  6. Java报错:Failed to execute goal org.eclipse.jetty:jetty-maven-plugin:9.4.26.v20200117:run (default-cli) on project ssm-mybatis-plus: Failure
  7. DevC++ 报错[Error] Id returned 1 exit status
  8. [python][flask] Jinja 模板入门
  9. Axios及其async await封装
  10. node.js - 包、express