news 2026/5/1 8:32:59

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/4/23 10:45:53

基于Springboot+Vue的企业采购管理系统源码文档部署文档代码讲解等

课题介绍 本课题旨在设计实现基于SpringBootVue前后端分离架构的企业采购管理系统&#xff0c;聚焦企业采购全流程管控需求&#xff0c;破解传统采购中流程繁琐、审批滞后、供应商管理混乱、数据统计低效等痛点&#xff0c;构建数字化、规范化的采购管理平台。系统后端以Spring…

作者头像 李华
网站建设 2026/5/1 8:17:57

在TRAE国际版中建立虚拟开发团队

在TRAE国际版中建立虚拟开发团队时&#xff0c;选择使用agent还是subagent主要取决于团队的任务复杂度和组织结构。下面用平实的语言和常见例子来解释。 Agent和Subagent的基本区别 Agent&#xff1a;就像一个独立的专业人员&#xff0c;能自主完成一项整体任务。例如&#xf…

作者头像 李华
网站建设 2026/4/17 18:22:07

基于Python的历届奥运会数据可视化分析系统(源码+lw+部署文档+讲解等)

课题介绍 本课题旨在设计实现基于Python的历届奥运会数据可视化分析系统&#xff0c;聚焦体育爱好者、科研人员、体育管理机构对奥运会历史数据的挖掘、分析及可视化需求&#xff0c;破解传统奥运数据零散、分析维度单一、展示形式枯燥等痛点&#xff0c;构建全面高效的奥运数据…

作者头像 李华
网站建设 2026/4/17 23:38:43

设计PPT配色自动推荐工具,输入PPT主题,(商务/汇报/创意),推荐适配配色的方案,标注色值,支持一键复制,解决职场人配色纠结,让PPT更美观。

1. 实际应用场景与痛点 场景 - 职场人在制作PPT时&#xff0c;经常为配色方案纠结&#xff0c;不知道如何选择主色、辅色、背景色。 - 不同场景&#xff08;商务汇报、创意展示、学术演讲&#xff09;需要不同的配色风格。 - 手动查找配色方案耗时&#xff0c;且色值不统一&a…

作者头像 李华
网站建设 2026/5/1 7:30:51

2026必备10个降AIGC工具,专科生速看!

2026必备10个降AIGC工具&#xff0c;专科生速看&#xff01; AI降重工具&#xff0c;专科生论文的“隐形护盾” 在当前学术环境中&#xff0c;AI生成内容&#xff08;AIGC&#xff09;已成为高校论文检测的重要指标之一。许多学生在使用AI写作工具时&#xff0c;往往忽略了其…

作者头像 李华