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

怎样自己做网站模板建设银行网站为什么登不上

怎样自己做网站模板,建设银行网站为什么登不上,斐讯k2做网站,wordpress首页不加载图片不显示文章目录 题目1. 排序2. 计数 题目 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”…

文章目录

    • 题目
    • 1. 排序
    • 2. 计数

题目

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

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

示例 1:

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

输入: strs = [“”]
输出: [[“”]]
示例 3:

输入: strs = [“a”]
输出: [[“a”]]

1. 排序

  1. 排序的str作为键
  2. 将原str添加为键值
  3. 最后返回键值作为list
class Solution(object):def groupAnagrams(self, strs):""":type strs: List[str]:rtype: List[List[str]]""""""1.排序的str作为键2.将原str添加为键值3.最后返回键值作为list"""mp = defaultdict(list)for str in strs:key = "".join(sorted(str))mp[key].append(str)return list(mp.values())
  • 使用 sorted(s) 对每个字符串进行排序,''.join(sorted(s)) 将该列表拼接成一个新的字符串,作为字典的键。
    • 对字符串 “eat” 排序后得到 “aet”
    • 对字符串 “tea” 排序后得到 “aet”
    • 对字符串 “tan” 排序后得到 “ant”
  • 对于相同的字母异位词,它们的排序后的字符串是相同的,因此会被分到同一组。
  • defaultdict(list) 用来创建一个默认值为列表的字典,这样在添加元素时无需先检查键是否存在。
    • 如果 sorted_str 还没有出现在字典中,Python 会自动为它创建一个空列表。然后,我们将原始字符串 s 添加到这个列表中。
  • 对 “eat” 排序,得到 “aet”,将 “eat” 加入到 anagrams[“aet”] 中,anagrams = {“aet”: [“eat”]}。
  • 对 “tea” 排序,得到 “aet”,将 “tea” 加入到 anagrams[“aet”] 中,anagrams = {“aet”: [“eat”, “tea”]}。
  • 对 “tan” 排序,得到 “ant”,将 “tan” 加入到anagrams[“ant”] 中,anagrams = {“aet”: [“eat”, “tea”], “ant”: [“tan”]}。
  • 对 “ate” 排序,得到 “aet”,将 “ate” 加入到 anagrams[“aet”] 中,anagrams = {“aet”:[“eat”, “tea”, “ate”], “ant”: [“tan”]}。
  • 对 “nat” 排序,得到 “ant”,将 "nat"加入到 anagrams[“ant”] 中,anagrams = {“aet”: [“eat”, “tea”, “ate”], “ant”:[“tan”, “nat”]}。
  • 对 “bat” 排序,得到 “abt”,将 “bat” 加入到 anagrams[“abt”]中,anagrams = {“aet”: [“eat”, “tea”, “ate”], “ant”: [“tan”, “nat”],“abt”: [“bat”]}。
  • .values() 会返回 [[‘eat’, ‘tea’, ‘ate’], [‘tan’, ‘nat’], [‘bat’]]

2. 计数

  1. 将出现的字母次数的字母表作为键(one-hot编码)
  2. 将原str添加为键值
  3. 最后返回键值作为list
class Solution(object):def groupAnagrams(self, strs):""":type strs: List[str]:rtype: List[List[str]]""""""1.将出现的字母次数的字母表作为键(有点像one-hot编码,但次数可以大于2)2.将原str添加为键值3.最后返回键值作为list"""mp = defaultdict(list)for str in strs:# 创建字母表counts = [0] * 26for word in str:# 每个字母对应[0, 26]所出现的次数(ASCII码:ord)counts[ord(word) - ord("a")] += 1# unhashable type: 'list'# 字典的键必须是不可变类型,list可变,tuple不可变mp[tuple(counts)].append(str)return list(mp.values())
  • 计数法:我们不再对字符串进行排序,而是通过一个包含26个元素的计数列表来记录每个字符串中每个字母的出现次数。字母的索引是通过 ord(char) - ord('a') 来计算的,这样就可以将每个字母映射到 0-25 的范围内。
  • 使用 tuple(count) 作为字典键:由于列表不可作为字典的键,我们将 count 转换为元组(tuple),作为字典的键。这样相同字母异位词的字符频率会生成相同的键,确保它们被分到同一组。
  • defaultdict(list):这个数据结构使得当某个键第一次出现时,会自动创建一个空列表,无需显式地检查键是否已经存在。
  • 对于单词 “eat”,char_count 是 [1, 0, 0, 0, 1, 0, …, 0, 1],转换为元组 (1, 0, 0, 0, 1, 0, …, 0, 1),作为键,将 “eat” 添加到字典 anagrams 中。

  • 对于单词 “tea”,char_count 也是 [1, 0, 0, 0, 1, 0, …, 0, 1],转换为元组 (1, 0, 0, 0, 1, 0, …, 0, 1),它的字符频次和 “eat” 相同,因此将 “tea” 也添加到相同的组中。

  • 对于单词 “tan”,char_count 是 [1, 0, 1, 0, 0, 0, …, 0],转换为元组 (1, 0, 1, 0, 0, 0, …, 0),作为键,它会被放到不同的组中,与 “nat” 和 “tan” 在同一组。

http://www.dtcms.com/wzjs/592201.html

相关文章:

  • 隧道建设网站怎么了联想官网网上商城
  • 做淘宝客需要建网站吗企业网站源码搜一品资源
  • 金华网站建设哪里好腾讯云域名
  • 淮安建设机械网站制作完整app开发流程
  • 三网合一网站建设是指什么自媒体网站源码模板dede
  • 旅游网站内容规划数码产品简约大气网站设计
  • 公司业绩怎么发到建设厅网站上开平网站设计
  • 车载互联系统网站建设公总号开发就是网站开发吗
  • 廊坊做网站哪家好wordpress谷歌字体
  • 一流的医疗网站建设公司增加英文网站要怎么做
  • 网站验证码系统佛山市seo推广
  • 建站平台步骤详解海外推广渠道都有哪些
  • 建设cpa网站需要什么做网站需要什么电脑
  • 网站监控怎么做代理公司注册机构
  • 网站建设什么价格dw网站建设视频下载
  • 湖南企业建站系统信息php 网站开发案例教程
  • 网联科技网站建设做app网站的软件
  • 免费网站优化怎么做怎么注册商标品牌
  • 品牌网站建设福州长沙县政务网站
  • 太原那有网站设计公司个人做网站和百家号赚钱
  • 教育培训网站排名婚纱摄影网络公司网站源码
  • 松山湖网站建设公司网络规划设计师资料及视频教程
  • 网站建设tlmh微信公众号文章怎么转wordpress
  • 如何看一个大型网站的源代码河北省建设机械协会网站首页
  • 个人博客网站开发的背景百度网页打不开怎么办
  • 网站开发可以用两种语言吗快速做自适应网站
  • 新闻聚合网站怎么做做招聘网站价格
  • 做php网站时如何建立数据库佛山做网站哪家公司好
  • aso优化技巧大aso技巧深圳如何优化网站
  • 九江建网站公司有哪些境外域名注册