字母异位词分组

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

示例 1:

输入: strs = "eat", "tea", "tan", "ate", "nat", "bat"

输出: \["bat","nat","tan","ate","eat","tea"]

示例 2:

输入: strs = ""

输出: \[""]

示例 3:

输入: strs = "a"

输出: \["a"]

解法:

js 复制代码
/**
 * @param {string[]} strs
 * @return {string[][]}
 */
var groupAnagrams = function(strs) {
    if(strs.length===1) return [strs]
    const strsList = strs.map(str=>str.split('').sort().join())
    const map = {}
    for(let i=0;i<strs.length;i++){
        let key = strsList[i],value = strs[i]
        if(map[key]){
            map[key].push(value)
        } else {
            map[key] = [value]
        }
    }
    return Object.values(map)
};
相关推荐
lucas_AI3 分钟前
Q-CueGraph:你的多模态大模型会 zoom,但真的知道该看哪儿吗?
人工智能·算法
渣波4 分钟前
拒绝 Redux 样板代码:Zustand 核心原理与实战进阶指南(基础、异步与切片模式)
前端·javascript
kaixin_啊啊25 分钟前
test_机器学习算法学习
学习·算法·机器学习
liulilittle26 分钟前
MOE路由:路由(logits: top-k/8)
c++·人工智能·算法·机器学习·llm
旖旎夜光29 分钟前
LeetCode 11:盛最多水的容器(双指针问题) —— 题解
数据结构·c++·算法·leetcode·双指针
一只齐刘海的猫40 分钟前
【Leetcode】乘积最大子数组
算法·leetcode·职场和发展
妙码生花1 小时前
让各大 AI 整理出来的前端工程命名最简实践(Vue + TS)
前端·javascript·vue.js
余生皆假期-2 小时前
傅里叶变换和拉普拉斯变换
人工智能·算法·机器学习
不一样的故事1262 小时前
芯片设计是一个高度复杂、分工精细的系统工程
数据结构·经验分享
郭wes代码3 小时前
纯 CSS+JS 实战:手搓一张支持自定义的通用金色电子奖状(万字详细拆解)
前端·javascript·css