当前位置:网站首页>leetcode经典例题——49.字母异位词分组
leetcode经典例题——49.字母异位词分组
2022-08-04 09:03:00 【你食不食油饼】
题目描述:

思路:其实大家可以想想如果是int类型的数组,我们会怎么做,估计有不少小伙伴,脱口而出,遍历出来,直接进行排序,再分组;但为什么String类型的数组,咱们不可以去排序分组呢,哈哈哈这么一想大家是不是有种豁然开朗的感觉,我们只需要str.toCharArray() 把字符串变成字符数组,不就可以排序了,排序完再进行分组,至于分组就可以用Map集合来实现;
来看看代码:
public List<List<String>> groupAnagrams(String[] strs) {
if (strs.length <1) return new ArrayList<>();
Map<String,List<String>> map = new HashMap<>();
for (String str : strs) {
char[] chars = str.toCharArray();
Arrays.sort(chars);
if (!map.containsKey(String.valueOf(chars)))
map.put(String.valueOf(chars),new ArrayList<>());
map.get(String.valueOf(chars)).add(str);
}
return new ArrayList<>(map.values());
}总结:第一次看到这题,我也陷入一个困境 ,有点无从下手的感觉,哥们也是第一次看到这种题,有点想硬算,去暴力匹配,但一想这种方法肯定超时;也是看的题解才有的思路哈哈哈,大家有时候算法解不出来适当看看题解,也是可以帮助自己思考的!
边栏推荐
猜你喜欢
![Detailed explanation of telnet remote login aaa mode [Huawei eNSP]](/img/cf/aaf3a0b794b1076423fc5b90ecc9f0.png)
Detailed explanation of telnet remote login aaa mode [Huawei eNSP]

Since his 97, I roll but he...

路由/三层交换机DHCP下发地址详解【华为eNSP】

从底层看 Redis 的五种数据类型

inject() can only be used inside setup() or functional components.

Anton Paar Anton Paar Density Meter Hydrometer Repair DMA35 Performance Parameters

JSP基本语法

【论文笔记】Dynamic Convolution: Attention over Convolution Kernels

C Language Lectures from Scratch Part 6: Structure

layout manager
随机推荐
Libpq 是否支持读写分离配置
js - the first letter that appears twice
线程的状态
After four years of outsourcing, the autumn recruits finally landed
智汇华云 | 华云软件定义网络 DCI介绍
2022-08-02 Analyze RK817 output 32k clock PMIC_32KOUT_WIFI to WiFi module clock register devm_clk_hw_register
It is found that several WRH tables are locked, what should I do?
线程安全问题
BFM模型和Landmarks可视化
如何从PG导入数据到kingbaseES
技术实现 | 图像检索及其在高德的应用
[Cloud Residency Co-Creation] HCSD Celebrity Live Streaming – Employment Guide
张朝阳对话俞敏洪:谈宇宙、谈焦虑、谈创业、谈退休、谈人生
户外徒步旅行
Recommend several methods that can directly translate PDF English documents
从底层看 Redis 的五种数据类型
binder通信实现
基于cRIO-904X搭建Simulink与Labview环境
预测性维护学习之路
spark算子讲解