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

弄个做网站公司山东网站建设

弄个做网站公司,山东网站建设,做时尚网站的目的,好用的手机网站主页题目描述 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词是由重新排列源单词的所有字母得到的一个新单词。 即将含有相同字符但排列顺序不同的字符串放入同一个组中。 示例 示例 1: 输入: strs ["eat", &qu…

题目描述

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

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

即将含有相同字符但排列顺序不同的字符串放入同一个组中。

示例

示例 1:

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

输入: strs = [""]
输出: [[""]]
示例 3:

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

解题

解法一:排序+哈希表

思路

如果两个字符串互为字母异位词,那么它们含有的字母是一样的,只是顺序不同,那么可以通过按照相同的排序规则进行排序,那么排序结果是一样的。

然后使用排序的结果作为键,原来的字符串作为值,存放在列表里。

最后以列表的形式返回的所有值即可。

算法复杂度

时间复杂度: O(n * m * log m),其中 n 是输入列表 strs 的长度,m 是字符串的最大长度。

对于每个字符串 s,我们需要计算其字符的有序版本,即 key = ''.join(sorted(s)),sorted(s) 的时间复杂度是 O(m log m),其中 m 为字符串 s 的长度。

再加上外部有一个对输入列表 strs 的遍历,所以总的时间复杂度是 O(n * m * log m),其中 n 是输入列表 strs 的长度,m 是字符串的最大长度。


空间复杂度:O(n*m),其中 n 是输入列表 strs 的长度,m 是字符串的最大长度。

代码
class Solution:def groupAnagrams(self, strs: List[str]) -> List[List[str]]:anagram_groups = {}for s in strs:# 将字符串转换为有序的字符串作为哈希表的键key = ''.join(sorted(s))# 如果哈希表中已经有这个键,则把当前字符串加入到对应值(即组)中if key in anagram_groups:anagram_groups[key].append(s)else:anagram_groups[key] = [s]# 返回所有的字母异位词组return list(anagram_groups.values())
http://www.dinnco.com/news/47107.html

相关文章:

  • 佛山网站代运营网络推广公司简介模板
  • 百度推广和网站建设网络推广优化方案
  • 在本地做的网站怎么修改域名网站怎么做
  • 化工企业网站模板 aspx衡阳网站优化公司
  • 苏州企业网站制作开发seo详细教程
  • 营业执照办理咨询电话优化设计电子课本下载
  • 怎么用ps做购物网站百度框架户一级代理商
  • 自己建一个网站难吗把百度网址大全设为首页
  • 同城58招聘信息sem与seo
  • 网站建设 面试seo l
  • 做订单管理网站用什么软件中国的网络营销公司
  • 自己做网站赚钱吗可以免费网络推广网站
  • 微信推广工具seo优缺点
  • 做门户网站用什么模板好制作网站的基本步骤
  • 返利网站制作百度网盘在线登录入口
  • 个人成立公司怎么做企业网站象山关键词seo排名
  • 网站建设技术招聘最近发生的新闻事件
  • 东莞防疫最新公告台州百度快照优化公司
  • C4D有哪些做模型的网站百度客服电话24小时
  • 用ps做网站页面trinseo公司
  • 精美网站欣赏网站关键词优化排名技巧
  • 网站 加域名信息流广告的特点
  • 微网站免费建站系统商城网站开发公司
  • 网站的流量是什么意思上海网站推广系统
  • 如何用织梦cms做网站免费下载百度seo
  • 北京专业做网站seo技术员
  • 网络营销网站建设知识学校网站模板
  • 网站后台管理系统cms今日头条新闻在线看
  • .net网站吃内存雅诗兰黛网络营销策划书
  • 广州企业网站建设费用产品软文范例软文