当前位置: 首页 > news >正文

【HashMap】49. 字母异位词分组

49. 字母异位词分组

解题思路

  • 创建一个哈希容器 key是每一个字母异位词 排序之后的词 List是所有的字母异位词
  • 因为所有的字母异位词排序之后的结果都是一样的
  • 增强for循环遍历字符串数组
  • 将每一个字符串转换为字符数组
  • 因为字母异位词排序之后 都是一样的
  • 将排序之后的字符数组 转换为字符串
  • 将排序之后的结果 作为hash的key
  • 如果不存在 将字母异位 添加到Map中
  • 将该字符串放在对应key的list中
class Solution {public List<List<String>> groupAnagrams(String[] strs) {// 使用哈希容器  对于每一字符串 比较每一个字母出现的次数是不是相同的  是的话 放到一个List中// 创建一个哈希容器  key是每一个字母异位词 排序之后的词  List是所有的字母异位词// 因为所有的字母异位词排序之后的结果都是一样的Map<String,List> map =new HashMap<>();for(String str: strs){// 增强for循环遍历字符串数组// 将每一个字符串转换为字符数组char[] ss = str.toCharArray();// 因为字母异位词排序之后 都是一样的Arrays.sort(ss);// 将排序之后的字符数组 转换为字符串String key = String.valueOf(ss);// 将排序之后的结果 作为hash的keyif(!map.containsKey(key)){// 如果不存在  将字母异位 添加到Map中// 哈希容器的key是排序之后的字符串map.put(key,new ArrayList());}// 将该字符串放在对应key的list中map.get(key).add(str);}// 返回所有的键值对象构成城的Listreturn new ArrayList(map.values());}
}
http://www.lryc.cn/news/99670.html

相关文章:

  • golang实现多态
  • formatter的用法,深拷贝, Object.assign 方法实战。
  • Windows上安装和使用git到gitoschina和github上_亲测
  • MATLAB算法实战应用案例精讲-【深度学习】预训练模型GPTXLNet
  • Spring data JPA常用命令
  • Excel的使用
  • 大数据课程D4——hadoop的MapReduce
  • java策略模式
  • Vue2封装自定义全局Loading组件
  • docker 搭建jenkins
  • 【Docker】Docker 部署 Mysql 并设置数据持久化
  • 【ARM 常见汇编指令学习 5 -- arm64汇编指令 wzr 和 xzr】
  • 4.4 成员变量与局部变量的区别有哪些?
  • 学生管理系统-03项目案例(3)
  • Banana Pi BPI-KVM – 基于 Rockchip RK3568 SoC 的 KVM over IP 解决方案
  • 面试:Spring Cloud和Kubernetes的优缺点
  • TSINGSEE青犀视频安防监控视频平台EasyCVR新增密码复杂度提示
  • 前端开发中的正则表达式:解密规则的魔法
  • const的用法
  • 机器学习深度学习——模型选择、欠拟合和过拟合
  • IP 服务级别协议监控
  • Emvirus: 基于 embedding 的神经网络来预测 human-virus PPIs【Biosafety and Health,2023】
  • 安全文件传输:如何降低数据丢失的风险
  • AI绘画StableDiffusion实操教程:可爱头像奶茶小女孩(附高清图片)
  • java8 GroupingBy 用法大全
  • vue_router__WEBPACK_IMPORTED_MODULE_1__.default is not a constructor
  • 前端html2canvas和dom-to-image实现截图功能
  • Hadoop平台集群之间Hive表和分区的导出和导入迁移(脚本)
  • Linux C语言实践eBPF
  • 垃圾回收标记阶段算法