news 2026/6/18 13:12:31

Leetcode49:字母异位词分组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Leetcode49:字母异位词分组

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

示例 1:

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

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

解释:

  • 在 strs 中没有字符串可以通过重新排列来形成"bat"
  • 字符串"nat""tan"是字母异位词,因为它们可以重新排列以形成彼此。
  • 字符串"ate""eat""tea"是字母异位词,因为它们可以重新排列以形成彼此。

示例 2:

输入:strs = [""]

输出:[[""]]

示例 3:

输入:strs = ["a"]

输出:[["a"]]

提示:

  • 1 <= strs.length <= 104
  • 0 <= strs[i].length <= 100
  • strs[i]仅包含小写字母

直接上代码,看不懂请私信或留言

class Solution { public List<List<String>> groupAnagrams(String[] strs) { List<List<String>> ans = new ArrayList<>(); if(strs.length == 1) { ans.add(new ArrayList<>()); ans.get(0).add(strs[0]); return ans; } Map<String, List<String>> map = new HashMap<>(); /**如果大于1个遍历一下,遍历的过程中统计每个字母的词频,然后按照从a到z的顺序拼接,比如a出现两次拼接aa,都拼接完存入map以拼接完的string对应的list*/ for(String str : strs) { char[] sArr = str.toCharArray(); int[] count = new int[26]; /**统计字符出现的频次 */ for(char c : sArr) { count[c - 'a'] ++; } /**统计完之后拼接字符串*/ StringBuilder sb = new StringBuilder(); for(int i = 0; i < count.length; i++) { for(int j = 0; j < count[i]; j ++) { sb.append((char)('a' + i)); } } String strCur = sb.toString(); /**拿到按a~z的顺序排序后对应的list,有就拿原来的,没有就建个新的*/ List<String> strList = map.getOrDefault(strCur, new ArrayList<>()); /**把当前单词加入 */ strList.add(str); /**别忘了put,这是针对新建list的情况,如果不put的话map里就不存在 */ map.put(strCur, strList); } /**map的values是我们的各个异位词的list */ for(List<String> list : map.values()) { ans.add(list); } return ans; } }

运行结果:

有优化的空间,面试肯定能过,懒得搞了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 17:56:34

巴菲特的投资智慧与实践案例

巴菲特的投资智慧与实践案例 关键词&#xff1a;巴菲特、投资智慧、价值投资、实践案例、长期投资 摘要&#xff1a;本文深入探讨了巴菲特的投资智慧及其具体实践案例。通过对巴菲特投资理念的背景介绍&#xff0c;详细阐述了其核心概念&#xff0c;如价值投资、安全边际等。结…

作者头像 李华
网站建设 2026/6/17 12:24:34

大数据时代,数据合规的技术保障措施

大数据时代数据合规&#xff1a;从“被动应对”到“主动防御”的技术保障体系全解析 引言&#xff1a;当“数据爆炸”撞上“合规紧箍咒”&#xff0c;企业该怎么办&#xff1f; 凌晨三点&#xff0c;某电商数据负责人的手机突然震动——监管部门发来《责令整改通知书》&#…

作者头像 李华
网站建设 2026/6/18 11:25:52

AI伦理设计的未来趋势:AI应用架构师必须关注的5个方向(预测)

AI伦理设计的未来趋势:AI应用架构师必须关注的5个方向 副标题:从合规到共生的技术伦理落地指南 摘要/引言 当我们在2024年谈论AI时,“伦理”早已不是哲学课堂上的抽象讨论——它是技术架构的硬约束,是企业避免巨额罚款的防火墙,更是用户信任的底层逻辑。 问题陈述 今…

作者头像 李华
网站建设 2026/6/15 18:27:12

路由全局守卫

路由全局守卫1用户登录情况2用户未登录 whiteList.includes(to.path) 检查 to.path 这个「即将跳转的路由路径」&#xff0c;是否在 whiteList 这个「路由白名单数组」中&#xff0c;最终返回一个布尔值&#xff08;true/false&#xff09;。![在这里插入图片描述](https://i-b…

作者头像 李华
网站建设 2026/6/17 2:46:18

Thinkphp和Laravel基于的农产品预售商城 平台设计_v8557农户_

目录 设计思路技术架构功能模块安全与优化 项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 设计思路 农产品预售商城平台基于ThinkPHP和Laravel框架开发&#xff0c;旨在连接农户与消费者&#xff0c;实现农产品的直接预售。平台设计围绕农户&am…

作者头像 李华