Leetcode49. 字母异位词分组

news2024/11/17 10:42:10

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

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

 解题思路:计数

思路:题意是字符串的字符都是小写,可以对每个字符串统计其中字符的频次,将每个字符频次相同的字符串放在一组
复杂度:时间复杂度O(n*k),n是字符串个数,k是最长字符串长度,循环字符串数组复杂度O(n),对每个字符串统计频次复杂度O(k)。空间复杂度O(n*k),map中存放了n个大小最长为k的字符串。

代码:

class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
        Map<String, List<String>> map = new HashMap<String, List<String>>();
        for(String str : strs){
            //对每个字符串统计出现的次数
            int[] counts = new int[26];
            for(int i = 0; i < str.length(); i++){
                counts[str.charAt(i) - 'a']++;
            }
            //对将字符串进行拼接
            StringBuffer sb = new StringBuffer();
            for(int i = 0; i < 26;i++){
                if(counts[i] !=0){
                    sb.append((char)('a'+i));//转化回字母
                    sb.append(counts[i]);//拼接成a2b3c4这种格式作为map的key
                }
            }
            //通过字符串a1b2c3这种形式作为key获取map value,写入并重新添加到map中
            String key  = sb.toString();
            List<String> list = map.getOrDefault(key, new ArrayList<>());
            list.add(str);
            map.put(key,list);
        }
        return new ArrayList<List<String>>(map.values());

    }
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/888829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是公网、私网、内网、外网?

中午好&#xff0c;我的网工朋友。 最近经常有很多小白朋友在问&#xff0c;公网、私网、内网、外网&#xff0c;这些的概念是啥样的&#xff0c;又该怎么去界定。 关于IP地址&#xff0c;确实没有太明确的区分&#xff0c;其实也不必太过咬文嚼字。 内网、外网就是一个参考…

SAP复杂表格转换为JASON格式的例子

分享一个三层表格转换伙JASON格式的例子&#xff0c;代码如下。 REPORT zjason_test. "// 定义 DATA: lv_json TYPE string.DATA: BEGIN OF ls_detail_l3,code_l3 TYPE string,name_l3 TYPE string,age_l3 TYPE string,END OF ls_detail_l3,lt_detail_l3 LIKE TABLE OF…

SSO单点登录(SpringSecurity OAuth2.0 redis mysql jwt)

SSO单点登录 什么是单点登录 SSO(Single Sign On) 在多系统架构中&#xff0c;用户只需要一次登录就可以无需再次登录(比如你在打开淘宝之后点击里边的天猫) 在以前我们的单系统中,用户如果登录多个服务需要多次登录&#xff0c;实现单点登录之后&#xff0c;可以实现一次登录…

Qt:隐式内存共享

隐式内存共享 Many C classes in Qt use implicit data sharing to maximize resource usage and minimize copying. Implicitly shared classes are both safe and efficient when passed as arguments, because only a pointer to the data is passed around, and the data i…

K8s实战4-使用Helm在Azure上部署Ingress-Nginx和Tokengateway

手动发布Ingress-Nginx 1 登录到aks(dfinder-gw-aks) az login az account set --subscription ${sub ID} az aks get-credentials --resource-group ${groupname} --name ${aks name} 2 下载 ingress-nginx-4.2.5.tgz curl -LO https://github.com/kubernetes/ingress-ngi…

Hyper-V增加桥接网络设置(其他方式类同)

点击连接到的服务器&#xff0c;右单击或者右边点击“虚拟交换机管理器” 选择网络种类 配置虚拟交换机信息 外部网络选择物理机网卡设备

CS1988|C#无法在异步方法中使用ref,in,out类型的参数的问题

CS1988|C#无法在异步方法中使用ref,in,out类型的参数 &#x1f300;|场景&#xff1a; BlazorServer的场景中推荐使用异步方法&#xff0c;使用ref,out,in为参数前缀则报错CS1988 原因如下: ref parameters are not supported in async methods because the method may not h…

torch模型转onnx

加载模型 modeltorch.load(saved_model/moudle_best_auc.pth, map_locationcpu) model.eval().cpu()注&#xff1a;由于导出的模型是用于推理的&#xff0c;因此必须指定模型加载的位置和模型验证的位置&#xff0c;这里我使用了cpu做出导出的硬件 分析模型的输入和输出 这里…

基于SSH框架实现的管理系统(包含java源码+数据库)

资料下载链接 介绍 基于SSH框架的管理系统 简洁版 &#xff1b; 实现 登录 、 注册 、 增 、 删 、 改 、 查 &#xff1b; 可继续完善增加前端、校验、其他功能等&#xff1b; 可作为 SSH&#xff08;Structs Spring Hibernate&#xff09;项目 开发练习基础模型&#xf…

维护平衡的艺术:如何与干系人建立和谐关系以确保项目成功

在项目管理领域中&#xff0c;干系人的作用是无法忽视的。他们的支持和参与往往是项目成功的关键。与干系人建立和维护良好的关系成为每一位项目经理必备的技能。接下来&#xff0c;我们将深入探讨如何有效地与干系人互动&#xff0c;从而为项目的成功奠定坚实基础。 干系人的…

中国“诺贝尔奖”未来科学大奖公布2023年获奖名单

未来科学大奖委员会于8月16日公布2023年获奖名单。柴继杰、周俭民因发现抗病小体并阐明其结构和在抗植物病虫害中的功能做出的开创性工作获得“生命科学奖”&#xff0c;赵忠贤、陈仙辉因对高温超导材料的突破性发现和对转变温度的系统性提升所做出的开创性贡献获得“物质科学奖…

2023骨传导耳机推荐,适合运动骨传导耳机推荐

相信很多人跟我一样&#xff0c;随着现在五花八门的耳机品种增多&#xff0c;选耳机的时候真是眼花缭乱&#xff0c;尤其还是网购&#xff0c;只能看&#xff0c;不能试&#xff0c;所以选择起来比较困难&#xff0c; 作为一个运动达人&#xff0c;为了让大家在购买耳机时少走弯…

YOLO系列解读DAY1—YOLOV1预训练模型

一、说在前面 小伙伴们好&#xff0c;博主很久没有写博客了&#xff0c;略感生疏&#xff0c;不到之处敬请谅解&#xff0c;欢迎指出文中错误&#xff0c;大家一起探讨。欲看视频讲解&#xff0c;可转至博主DouYin、B站&#xff0c;欢迎关注&#xff0c;链接如下&#xff1a; …

Cat(1):Cat入门

1 什么是调用链监控 1.1 架构的演进历史 单体应用 架构说明&#xff1a; 全部功能集中在一个项目内&#xff08;All in one&#xff09;。 在单体应用的年代&#xff0c;分析线上问题主要靠日志以及系统级别的指标。 微服务架构 架构说明&#xff1a; 将系统服务层完全独立…

亚马逊添加心愿单对卖家有什么好处

在亚马逊平台上&#xff0c;卖家可以从消费者的角度来看待心愿单的好处。消费者可以将自己感兴趣的商品添加到心愿单中&#xff0c;这对卖家来说也是有一些潜在好处的&#xff1a; 1、潜在销售机会增加&#xff1a;当消费者将商品添加到心愿单中&#xff0c;这可能表示他们对这…

mySQL 视图 VIEW

简化版的创建视图 create view 视图名 as select col ...coln from 表create view 视图名&#xff08;依次别名&#xff09; as select col ...coln from 表create view 视图名 as select col “别名1”&#xff0c;。。。col "别名n" from 表show tab…

Angular安全专辑之二——‘unsafe-eval’不是以下内容安全策略中允许的脚本源

一&#xff1a;错误出现 这个错误的意思是&#xff0c;拒绝将字符串评估为 JavaScript&#xff0c;因为‘unsafe-eval’不是以下内容安全策略中允许的脚本源。 二&#xff1a;错误场景 testEval() {const data eval("var sum2 new Function(a, b, return a b); sum2(em…

挖掘优质短视频超百万条,火山引擎DataLeap助力电商平台生态治理

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 在人们的日常生活中&#xff0c;网购已经成为人们生活中不可或缺的购物形式。 根据《中国社交电商行业发展白皮书&#xff08;2022&#xff09;》的数据显示&#x…

古战策与现代项目: 孙子兵法在项目管理中的应用

项目管理在当今的商业环境中是至关重要的。从初创公司到世界500强&#xff0c;项目管理的策略和工具都在不断地演变。然而&#xff0c;我们是否可以从古老的战争策略中汲取智慧&#xff0c;并将它们应用于现代的项目管理实践中呢? 让我们通过孙子兵法&#xff0c;一个古老而又…

ui设计师工作总结及计划范文模板

ui设计师工作总结及计划范文模板【篇一】 白驹过隙&#xff0c;转眼间某某年已近结尾&#xff0c;时间伴随着我们的脚步急驰而去&#xff0c;到了个人工作总结的时候&#xff0c;蓦然回首&#xff0c;才发现过去的一年不还能画上圆满的句号&#xff0c;内心感慨万千&#xff0c…