Leetcode刷题100天—49. 字母异位词分组( 排序)—day37
前言:
作者:神的孩子在歌唱
大家好,我叫运智
49. 字母异位词分组
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母都恰好只用一次。
输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
输出: [["bat"],["nat","tan"],["ate","eat","tea"]]
输入: strs = [""]
输出: [[""]]
输入: strs = ["a"]
输出: [["a"]]
package 排序;import java.util.List;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;/** https://leetcode-cn.com/problems/group-anagrams/* 解题思路:每个字母异位词分组字符都是相同得,只不过字符顺序不一样,* 我们可以将他们变成ascll然后进行排列,最后在转为字符串,* 根据散列表性质:将顺序排号得字符作为键,字母异位词作为值* */
public class _49_字母异位词分组 {// 一旦需要根据特征进行归类就要散列表public static List<List<String>> groupAnagrams(String[] strs) {// 如果字符长度为0就返回空
// 定义哈希散列表HashMap<String,List<String>> map=new HashMap<>();
// 遍历for(String str:strs) {// 将字符串转为字符数组char[] s=str.toCharArray();
// 然后进行排序,由于是字符,所以可以根据ascll码来排序Arrays.sort(s);
// 然后在转为字符串String st=String.valueOf(s);
// 如果排序好的数据不存在哈希中,那么就是新的字符串if (!map.containsKey(st)) {// 将这个新的键存入,创建一个队列空值map.put(st, new ArrayList()) ;}
// 不管哈希表里有没有这个字符串都存入map.get(st).add(str);//获取对应得键值追加}return new ArrayList(map.values());}public static void main(String args[]) {String[] strs= {"eat", "tea", "tan", "ate", "nat", "bat"};List<List<String>> s=groupAnagrams(strs);System.out.print(s);}
}
本人csdn博客:https://blog.csdn.net/weixin_46654114
转载说明:跟我说明,务必注明来源,附带本人博客连接。
Leetcode刷题100天—49. 字母异位词分组( 排序)—day37相关推荐
- 【LeetCode】【HOT】49. 字母异位词分组(递归)
[LeetCode][HOT]49. 字母异位词分组 文章目录 [LeetCode][HOT]49. 字母异位词分组 package hot;import java.util.ArrayList; i ...
- leetcode 49. 字母异位词分组
49. 字母异位词分组 - 力扣(LeetCode) 一开始想的是把各个字符串中每个字符ascii码值相加,然后相同的ascii码值放在一个组,在相同的ascii码值组中再去细找字母异位词. 一开始算 ...
- 【LeetCode】49.字母异位词分组 (三种解法开拓思路,java实现)
49. 字母异位词分组 分析 方法一:排序数组分类 思路 当且仅当它们的排序字符串相等时,两个字符串是字母异位词. 算法 维护一个映射 ans : {String -> List},其中每个键 ...
- 49. 字母异位词分组
49. 字母异位词分组 给你一个字符串数组,请你将 字母异位词 组合在一起.可以按任意顺序返回结果列表. 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母都恰好只用一次. 示例 ...
- LeetCode 49字母异位词分组50pow(x,n)51八皇后
原创公众号:bigsai 如果不错记得点赞收藏! 关注回复 bigsai 领取Java进阶pdf资源,回复进群加入力扣打卡群. 上周打卡内容:43字符串相乘&44通配符匹配 45跳跃游戏&am ...
- LeetCode简单题之有效的字母异位词
题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词. 示例 1: 输入: s = ...
- LeetCode 49. 字母异位词分组(哈希)
1. 题目 给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例:输入: ["eat", "tea", "ta ...
- leetcode 49. 字母异位词分组(排序+hash)
给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", "tan&quo ...
- leetcode力扣49. 字母异位词分组
给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", "tan&quo ...
最新文章
- NSOperationQueue
- 2019春第一次课程设计实验报告
- Android:理想的框架开发母板——高焕堂
- PaddleLabel——重新识别失败【Can not recognise the detection box in 文件. Please change manually 】解决方案
- 2012-01-10 自己写的基于jquery的翻页效果
- php新闻添加图片,PHP操纵blob巧将图片存入ORACLE
- 编码程序教程_如何从编码教程到构建自己的项目
- ubuntu14.04 LTS版本下安装配置gem5环境
- Python中循环(列表循环)的学习笔记~
- python数据保存为excel_Python读excel生成数据存入txt文件
- HDU 1019 least common Multipy
- 鸡兔同笼python程序怎么写_梦见鸡_周公解梦梦到鸡是什么意思_做梦梦见鸡好不好_周公解梦官网...
- Java学习 --- HTML
- server多笔记录拼接字符串 sql_第四章、SQL Server数据库查询大全(单表查询、多表连接查询、嵌套查询、关联子查询、拼sql字符串的查询、交叉查询)...
- 大数据分析:数字化企业转型的关键
- 防止PayPal帐号冻结和解冻的经验
- python只读打开文件,python如何使用只读、不显示窗口的方式打开ppt文件
- created和mounted的区别
- 趣玩 Linux:盘点那些能装逼的炫酷命令(动图演示)
- 通联支付php7,通联支付接口疑难问题处理开发者文档.pdf