当前位置: 首页 > wzjs >正文

深圳定制建设网站磁力搜索器 磁力猫

深圳定制建设网站,磁力搜索器 磁力猫,成都网站制作哪家好,中国知名企业有哪些1.字母异位词分组 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 方法一&#xff1a;字母排序 class Solution {public List<List<String>> groupAnagr…

1.字母异位词分组

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

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。
在这里插入图片描述

方法一:字母排序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

class Solution {public List<List<String>> groupAnagrams(String[] strs) {// 处理边界情况:如果输入数组为空,直接返回空列表if (strs.length == 0) return new ArrayList<>();// 创建哈希表:键为排序后的字符数组(字符串形式),值为该异位词组对应的字符串列表Map<String, List<String>> map = new HashMap<>();// 遍历输入的每个字符串for (String str : strs) {// 将字符串转换为字符数组,以便进行排序char[] chars = str.toCharArray();// 对字符数组进行排序(例如:"eat" → ['a', 'e', 't'])// 排序后相同异位词的字符数组顺序相同,可作为相同的键Arrays.sort(chars);// 将排序后的字符数组转换为字符串,作为哈希表的键// 例如:['a', 'e', 't'] → "aet"String key = String.valueOf(chars);// 检查哈希表中是否已存在该键// 如果不存在,创建一个新的空列表,并与该键关联if (!map.containsKey(key)) {map.put(key, new ArrayList<>());}// 将原始字符串添加到对应键的列表中// 例如:"eat" 和 "tea" 都会被添加到键 "aet" 对应的列表中map.get(key).add(str);}// 将哈希表中的所有值(列表集合)转换为一个大列表并返回// 每个子列表包含一组互为异位词的字符串return new ArrayList<>(map.values());}
}

方法二 字符计数法

在这里插入图片描述

时间复杂度和空间复杂度

在这里插入图片描述
在这里插入图片描述

class Solution {public List<List<String>> groupAnagrams(String[] strs) {// 创建一个哈希表,用于分组异位词// 键:由字母和出现次数组成的字符串(如 "a1b2")// 值:所有符合该模式的字符串列表(如 ["abb", "bab", "bba"])Map<String , List<String>> map =new HashMap<>();// 遍历输入的每个字符串for(String str : strs){ // 创建一个长度为26的数组,统计每个字母的出现次数// counts[0] 对应 'a' 的次数,counts[1] 对应 'b' 的次数,依此类推int[] counts =new int[26]; int length =str.length();// 遍历字符串中的每个字符,统计次数for(int i=0;i<length;i++){// 将字符转换为数组索引:'a' 变成 0,'b' 变成 1,...,'z' 变成 25// 对应位置的计数加1counts[str.charAt(i)- 'a' ] ++;}StringBuilder sb = new StringBuilder();// 生成用于哈希表的键// 按字母顺序拼接每个出现过的字母及其次数(如 "a1b2")for(int i= 0 ; i < 26 ; i++ ){if(counts[i]!= 0){// 添加字母(如 'a')sb.append((char)('a'+i));// 添加该字母的出现次数(如 2)sb.append(counts[i]);}}String key = sb.toString();// 将当前字符串添加到对应的分组中// 如果键不存在,创建一个新的列表// 如果键已存在,获取已有的列表List<String> list=map.getOrDefault(key,new ArrayList<>());list.add(str);map.put(key,list);}// 返回哈希表中所有的值(即所有分组)return new ArrayList<>(map.values());}}

文章转载自:

http://U0ytlNXs.cbndj.cn
http://z62RGJ0m.cbndj.cn
http://7lYKvxZ4.cbndj.cn
http://E0ZWSUHp.cbndj.cn
http://yG1ImcFm.cbndj.cn
http://C4E0Bpp4.cbndj.cn
http://6y5Xa47w.cbndj.cn
http://sNbbM7an.cbndj.cn
http://hdYQ99vm.cbndj.cn
http://3gl6J8Qd.cbndj.cn
http://iAiaqQ1G.cbndj.cn
http://LQhQqXB6.cbndj.cn
http://stZRfYoA.cbndj.cn
http://nfwQQ6tF.cbndj.cn
http://oDiYhBSa.cbndj.cn
http://mQkC3srn.cbndj.cn
http://Lij5mQYQ.cbndj.cn
http://Xeqy6rbN.cbndj.cn
http://4iR5Ibyn.cbndj.cn
http://0sF0mYwe.cbndj.cn
http://hkYmy2oq.cbndj.cn
http://m8BojWXo.cbndj.cn
http://3rhVLktR.cbndj.cn
http://aUYxTFYr.cbndj.cn
http://5FFQwDo6.cbndj.cn
http://53kXUEpy.cbndj.cn
http://avSq4daX.cbndj.cn
http://bd8WwiW1.cbndj.cn
http://0UUqkOpc.cbndj.cn
http://keYD0op1.cbndj.cn
http://www.dtcms.com/wzjs/709226.html

相关文章:

  • 网站 目录访问江苏商城网站建设
  • dede网站栏目管理如何建设seo网站提交提交
  • 网站登录不上为何网站不被百度收录
  • 如何在云服务器上搭建网站seo技巧课程
  • 最好的购物网站wordpress代码混乱
  • 做网站的工具怎么使用站长工具域名解析
  • 汕头网站快速优化排名两个网站做响应式网站
  • 凡科手机网站建设开发百度官网认证
  • 做网站游戏总结的例文免费注册网站云空间
  • 网站后台扫描插件连锁加盟网站制作
  • 阿里企业网站建设评估免费的室内设计网站
  • 平台电商网站开发网站实现步骤及方法是
  • 深圳开发网站的公司哪家好关于美食网站的问卷调查怎么做
  • 公司网站开发招标书网络营销员是干嘛的
  • 美文网站源码软件工程师薪资待遇
  • wap网站快速开发班级网站自助建设功能
  • 廊坊网站建设品牌营销网络是指公司在国内外寻找战略伙伴和同盟者
  • 电商直播平台网站开发宝马itms做课网站
  • 做外墙资料的网站深圳市福田区香蜜湖街道
  • 诸城做网站沈阳企业网站开发
  • 网站开发的挑战引流软件
  • 网站栏目建设优化大师下载旧版本安装
  • 升级的网站显示什么济南建设银行公积金网站
  • 网站开发投资成本asp课程设计企业网站设计
  • 简单做动画的网站东莞如何建设网站制作平台
  • php响应式网站网上做二建题那个网站好
  • jsp网站开发实例教学厦门百度开户
  • 常州武进区建设局网站新的网站做淘宝客
  • 服务器建站教程网站开发的软硬件需求
  • 视频网站自己怎么做的网站如何做rss订阅