当前位置:网站首页>Leetcode T49: 字母异位词分组
Leetcode T49: 字母异位词分组
2022-07-04 12:51:00 【范谦之】
题目描述
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。
示例 1:
输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]
输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]
示例 2:
输入: strs = [“”]
输出: [[“”]]
示例 3:
输入: strs = [“a”]
输出: [[“a”]]
提示:
- 1 <= strs.length <= 104
- 0 <= strs[i].length <= 100
- strs[i] 仅包含小写字母
思路
如果两个字符串再根据字符进行排序后,得到的字符串相等,那么这两个字符串为字母异位词。
使用HashMap,提高存取效率。
代码
Map<String, List<Integer>> map = new HashMap<String, List<Integer>>();
public List<List<String>> groupAnagrams(String[] strs) {
for(int i = 0; i < strs.length; i++) {
char[] chs = strs[i].toCharArray();
Arrays.sort(chs);
if(map.containsKey(new String(chs))) {
map.get(new String(chs)).add(i);
} else {
List<Integer> lis = new ArrayList<Integer>();
lis.add(i);
map.put(new String(chs), lis);
}
}
List<List<String>> res = new ArrayList<List<String>>();
for(List<Integer> lis: map.values()) {
List<String> tmp = new ArrayList<String>();
for(int ind: lis) tmp.add(strs[ind]);
res.add(tmp);
}
return res;
}
边栏推荐
- Hardware Basics - diode Basics
- golang fmt. Printf() (turn)
- Supprimer les lettres dupliquées [avidité + pile monotone (maintenir la séquence monotone avec un tableau + Len)]
- gorm 之数据插入(转)
- GCC【6】- 编译的4个阶段
- Xcode 异常图片导致ipa包增大问题
- Incremental ternary subsequence [greedy training]
- Unittest框架中引入TestFixture
- Use of tiledlayout function in MATLAB
- WS2818M是CPC8封装,是三通道LED驱动控制专用电路外置IC全彩双信号5V32灯可编程led灯带户外工程
猜你喜欢
[antd step pit] antd form cooperates with input Form The height occupied by item is incorrect
TestSuite and testrunner in unittest
1200. Minimum absolute difference
Product identification of intelligent retail cabinet based on paddlex
吃透Chisel语言.05.Chisel基础(二)——组合电路与运算符
国内酒店交易DDD应用与实践——代码篇
How to package QT and share exe
Test evaluation of software testing
【FAQ】華為帳號服務報錯 907135701的常見原因總結和解决方法
Yingshi Ruida rushes to the scientific and Technological Innovation Board: the annual revenue is 450million and the proposed fund-raising is 979million
随机推荐
做事的真正意义和目的,真正想得到什么
IDEA快捷键大全
Data warehouse interview question preparation
markdown 语法之字体标红
IP 实验室月复盘 · 第 5 期
Fs4059c is a 5V input boost charging 12.6v1.2a. Inputting a small current to three lithium battery charging chips will not pull it dead. The temperature is 60 ° and 1000-1100ma is recommended
1200. Minimum absolute difference
gorm 之数据插入(转)
Mask wearing detection based on yolov1
【Matlab】conv、filter、conv2、filter2和imfilter卷积函数总结
Use of arouter
BLOB,TEXT GEOMETRY or JSON column 'xxx' can't have a default value query 问题
R语言使用epiDisplay包的dotplot函数通过点图的形式可视化不同区间数据点的频率、使用by参数指定分组参数可视化不同分组的点图分布
docker-compose公网部署redis哨兵模式
R语言ggplot2可视化:gganimate包创建动态折线图动画(gif)、使用transition_reveal函数在动画中沿给定维度逐步显示数据
【信息检索】分类和聚类的实验
Unittest中的TestSuite和TestRunner
Incremental ternary subsequence [greedy training]
GCC [6] - 4 stages of compilation
MySQL 5 installation and modification free