当前位置: 首页 > 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.yayakq.cn/news/177923/

相关文章:

  • 寮步网站建设长沙征帆网络
  • 有哪些做动图网站网站开发都有哪些语言
  • 新网站建设流程网站开发工程师年薪多少
  • 动漫网站设计源代码ai网页生成
  • 接广告的平台佛山手机网站建设优化
  • 建设网站需要的人员及资金网站服务器 优帮云
  • 德州网站推广免费搭建手机自助网站
  • 北京东城网站建设网站制作资质
  • c 做网站的六大对象如何在网站上做评比
  • 贸易公司网站设计商丘网站建设公司
  • 怎么做网站外链如何避免网站被攻击
  • 网站换了域名做跳转种子搜索引擎
  • 中企动力官做网站怎么样济南手机网站定制费用
  • 简单flash个人网站免费软件看视频
  • 中国3.15诚信建设联盟网站wordpress登录才能看见文章
  • 滨江区建设局官方网站自助建微网站
  • 简单房地产网站在哪免费营销软件网站
  • 做前端网站用什么软件写代码吗域名和网站名不一样
  • 大型地方门户网站源码邢台抖音优化
  • 深圳响应式网站制作自助服务系统网站
  • 怎么黑进网站后台安徽省工程建设网站
  • 行业门户网站建设wordpress悬浮搜索框
  • 如何优化啊里网站排名个人网站模板 免费
  • 网站建设营销策划方案上海最大企业前十名
  • 教学设计代做去什么网站界面设计优秀的网站有哪些
  • 网站建设与推广公司连云港市建设局网站
  • 如何在网站上做qq群链接镇江网站制作教程
  • 网站开发所需要的条件深圳特区专业网站建设公司
  • 企业网站 模版阳东网站seo
  • 注册网站怎么注册广州网站制作后缀