[HOT 100]今日一练------字母异位词分组

题目链接

49. 字母异位词分组 - 力扣(LeetCode)

思路

哈希,map中对应的键值对为:排序过的String: 异位词String

因为不同字母的ASCII码大小不同,我们可以根据这个特性将一个String转换成一个字母数组之后对这个数组进行排序,如果是由相同字母组成的字符串,那么排序后的结果一定是一致的,因此可以将其视为一个字母异位词,我们只需要判断排序过后组成的新字符串是否在map中即可进行后续操作

代码

java 复制代码
class Solution {
    //map:    有序String: 当前String
    public List<List<String>> groupAnagrams(String[] strs) {
        HashMap<String, List<String>> map = new HashMap<>();
        for(String key: strs) {
            char[] chars = key.toCharArray();
            Arrays.sort(chars);
            String sortedString = new String(chars);
            if(map.containsKey(sortedString)) {
                map.get(sortedString).add(key);
                map.put(sortedString, map.get(sortedString));
            } else {
                List<String> list = new ArrayList<>();
                list.add(key);
                map.put(sortedString, list);
            }
        }
        return new ArrayList<>(map.values());
    }
}
相关推荐
njsgcs12 分钟前
已知链中心距用节数算中间电机摆放位置 常量弧长 三链轮弦长模型算法
算法
2601_962440841 小时前
计算机毕业设计之jsp旅游网站管理系统
java·开发语言·算法·课程设计·旅游·推荐算法
池塘的蜗牛2 小时前
AFDM波形基于DFT的通感一体化
算法
147API2 小时前
Claude global workspace 研究给智能体测试提了一个醒
人工智能·算法·机器学习
葫三生2 小时前
《论三生原理》与模糊数学的关联、异同、互补关系?
人工智能·科技·算法·机器学习·开源
我命由我123452 小时前
方差(实例实操、与标准差的区别)
java·数据结构·算法·数据分析·java-ee·intellij-idea·idea
闲研随记2 小时前
【文献阅读 ICML 2026】RL算法:Critique-GRPO
论文阅读·算法·llm·强化学习·rl·icml·grpo
民乐团扒谱机2 小时前
【微实验】从迷雾中看清世界:卡尔曼滤波的数学诗意与MATLAB实践
人工智能·算法·matlab·卡尔曼滤波·kalman
什巳3 小时前
JAVA练习275-乘积最大子数组
java·开发语言·数据结构·算法
@踏雪寻梅3 小时前
27. 移除元素
算法