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

Leetcode49.字母异位词分组

忘了之前做哪家笔试题遇到过这个题,对哈希表一点印象都没有了,完全懵逼,虽然写出来自己感觉正确的代码了,但是代码太厚重了而且运行还出错了。今天正好在leetcode看见了写一下题解记录一下吧~

题目描述

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
字母异位词是由重新排列源单词的所有字母得到的一个新单词。
示例 1:

输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]
输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]

示例 2:

输入: strs = [“”]
输出: [[“”]]

示例 3:

输入: strs = [“a”]
输出: [[“a”]]

利用哈希表key存储同组字母异位词的顺序表示,value存储对应的异位词数组。

/**
 * @param {string[]} strs
 * @return {string[][]}
 */
var groupAnagrams = function(strs) {
const map=new Map()
for(let str of strs){
	let strArr=Array.from(str)
	strArr.sort()
	let key=strArr.toString()
	let list=map.get(key)?map.get(key):new Array()
	list.push(str)
	map.set(key,list)
}
return Array.from(map.values())
}

http://www.kler.cn/news/149740.html

相关文章:

  • 开发一款短剧视频小程序软件多少钱?
  • 使用JMeter+Grafana+Influxdb搭建可视化性能测试监控平台
  • Vue 双向数据绑定
  • ElasticSearch之cat indices API
  • 三十、elasticsearch集群
  • day66
  • C语言——J /字符函数和字符串函数
  • Python与设计模式--策略模式
  • Nginx(九) aio sendfile directio 组合使用测试(2)
  • 力扣:185. 部门工资前三高的所有员工(Python3)
  • JavaScript包装类型
  • mysql 中 varchar 和 text 的区别
  • STM32之模数转换器ADC
  • ubuntu22.04系统下载程序和依赖,并拷贝到指定路径下
  • Bypass open_basedir的方法
  • Linux 磁盘挂载
  • PHP调用API接口的方法及实现(一键采集淘宝商品详情数据)
  • 证明E(X+Y) =E(X) + E(Y)
  • Android 单元测试初体验(二)-断言
  • 【mybatis注解实现条件查询】
  • Nginx入门
  • 手写VUE后台管理系统5 - 整合状态管理组件pinia
  • 【批处理常用命令及用法大全】
  • 基于SpringBoot的教师工作量管理系统
  • 【Flutter】graphic图表实现tooltip一段时间后自动隐藏
  • matlab画双坐标图的样式
  • NX二次开发UF_CSYS_create_temp_csys 函数介绍
  • TypeScript 之 Date日期对象
  • 讲述 什么是鸿蒙 为什么需要鸿蒙 为什么要学习鸿蒙
  • 【libGDX】Mesh纹理贴图