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

网站建设的工作描述昆明开发

网站建设的工作描述,昆明开发,中国企业500强第一名,公司网站建设全更新时间:2025-03-29 LeetCode题解专栏:实战算法解题 (专栏)技术博客总目录:计算机技术系列目录页 优先整理热门100及面试150,不定期持续更新,欢迎关注! 49. 字母异位词分组 给你一个字符串数组&#xf…

更新时间:2025-03-29

  • LeetCode题解专栏:实战算法解题 (专栏)
  • 技术博客总目录:计算机技术系列目录页

优先整理热门100及面试150,不定期持续更新,欢迎关注!


49. 字母异位词分组

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

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

示例 1:

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

示例 2:

输入: strs = [""]
输出: [[""]]

示例 3:

输入: strs = ["a"]
输出: [["a"]]

提示:

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

方法一:排序哈希法

将每个字符串排序后的结果作为哈希表的键。字母异位词排序后的字符串相同,因此可以通过哈希表分组。

  1. 遍历每个字符串,将其转换为字符数组并排序。
  2. 将排序后的字符串作为键,原字符串添加到对应的列表中。
  3. 返回所有哈希表的值作为结果。

代码:

class Solution {public List<List<String>> groupAnagrams(String[] strs) {Map<String, List<String>> map = new HashMap<>();for (String s : strs) {char[] chars = s.toCharArray();Arrays.sort(chars);String key = new String(chars);map.putIfAbsent(key, new ArrayList<>());map.get(key).add(s);}return new ArrayList<>(map.values());}
}

复杂度分析:

  • 时间复杂度O(nk log k),其中 n 是字符串个数,k 是字符串最大长度。排序每个字符串需要 O(k log k) 时间。
  • 空间复杂度O(nk),哈希表存储所有字符串的键和列表。

方法二:计数哈希法

统计每个字符串中各字母的出现次数,将计数结果转换为唯一字符串作为哈希表的键。例如,“aab” 转换为 #2#1#0...#0

  1. 遍历每个字符串,统计每个字母的出现次数。
  2. 将计数数组转换为固定格式的字符串作为键。
  3. 将原字符串添加到对应的列表中,最终返回结果。

代码:

class Solution {public List<List<String>> groupAnagrams(String[] strs) {Map<String, List<String>> map = new HashMap<>();for (String s : strs) {int[] count = new int[26];for (char c : s.toCharArray()) {count[c - 'a']++;}StringBuilder keyBuilder = new StringBuilder();for (int i = 0; i < 26; i++) {keyBuilder.append('#');keyBuilder.append(count[i]);}String key = keyBuilder.toString();map.putIfAbsent(key, new ArrayList<>());map.get(key).add(s);}return new ArrayList<>(map.values());}
}

复杂度分析:

  • 时间复杂度O(nk),统计和构建键的时间为 O(k + 26)
  • 空间复杂度O(nk),存储所有字符串的键和列表。

对比总结

  • 排序法 实现简单,适合字符串较短的情况。
  • 计数法 在字符串较长时更高效,避免了排序的时间开销。

声明

  1. 本文版权归 CSDN 用户 Allen Wurlitzer 所有,遵循CC-BY-SA协议发布,转载请注明出处。
  2. 本文题目来源 力扣-LeetCode ,著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

文章转载自:

http://qSc7Qh9s.mbqyL.cn
http://kqRFPZxF.mbqyL.cn
http://CcMSCoFi.mbqyL.cn
http://ysrMvijR.mbqyL.cn
http://y4eujM26.mbqyL.cn
http://8bAjQgbd.mbqyL.cn
http://9YkvQh1l.mbqyL.cn
http://7jCNL0FS.mbqyL.cn
http://zcyRxnhb.mbqyL.cn
http://TpsrCpDJ.mbqyL.cn
http://FDMa6UTT.mbqyL.cn
http://ZuUtd7eJ.mbqyL.cn
http://LHa2LLL9.mbqyL.cn
http://6Mz42dJH.mbqyL.cn
http://zQl9Jd3O.mbqyL.cn
http://mPiJb1er.mbqyL.cn
http://b6lwoDjc.mbqyL.cn
http://52nGPyS7.mbqyL.cn
http://qynUcUej.mbqyL.cn
http://dyNRQhSm.mbqyL.cn
http://gq2SbeDl.mbqyL.cn
http://UIXVgxYI.mbqyL.cn
http://wQUzDRb8.mbqyL.cn
http://LLZ3W7Cs.mbqyL.cn
http://heWtHmwD.mbqyL.cn
http://XdmIVnjy.mbqyL.cn
http://URomw3Fj.mbqyL.cn
http://taCUlJQ3.mbqyL.cn
http://PDjmhXkd.mbqyL.cn
http://xakE8z4L.mbqyL.cn
http://www.dtcms.com/wzjs/724788.html

相关文章:

  • 3建设营销型网站流程图wordpress时钟插件
  • cdn网站加速有用吗企业网站建设目的是什么
  • 崇义做网站深圳十大广告公司
  • 中国水利教育培训网站在上海做网站
  • 淘宝首页网站怎么做朔州seo网站建设
  • 网站的字体网站开发的未来发展趋势
  • 想建设个网站怎么赚钱删除wordpress版权
  • 甘肃省建设工程安全质量监督管理局网站官网做网站用的图片
  • 小学免费资源网站模板如何检查网站是否被挂木马
  • 怀化汽车网站做网站需要服务器吗
  • 巫山网站设计做网站一年赚多少钱
  • 发布企业信息的网站做动漫网站的小说
  • 业网站建设模板建站有什么优势
  • 开发一个网站需要多久网络营销案例ppt模板
  • 网站开发html书籍下载wordpress建站成品图
  • 90设计官网电脑版首页优化的公司
  • 四大网站西安做网站公司有哪些?
  • 网站开发转码手机手机网站网页开发教程
  • 大连网站建设制作公司手机动画制作软件
  • 如何给自己建设的网站设置登陆用户名和密码网络工程师证书考试时间
  • 网站建设大概需要多少钱安徽做网站的公司
  • asp网站抓取建设网站的作用及意义
  • 杭州 网站建设夏天做那些网站能致富
  • 免费创一个网站搜索技巧
  • 推广网站的网址和网鱼相匹配建设网站的企业费用
  • 公众号里链接的网站怎么做的查域名地址
  • 旅行社网站建设设计公司哪家好网站开发专家:php+mysql网站开发技术与典型案例导航
  • 大名做网站拉了专线可以直接做网站吗
  • 网站建设插件龙岗区网站建设哪个公司好
  • 我想自己建个网站买货 怎么做google网页版登录入口