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

pc网站如何做seo安溪城乡建设局网站

pc网站如何做seo,安溪城乡建设局网站,如何做收费网站,企业网站官网建设目录 题目描述#xff1a;题解#xff08;python#xff09;#xff1a;#xff08;方法一#xff1a;排序#xff09;代码解析代码运行解析 题解#xff08;C#xff09;#xff1a;#xff08;方法一#xff1a;排序#xff09;代码解析运行解析 原题目链接… 目录 题目描述题解python方法一排序代码解析代码运行解析 题解C方法一排序代码解析运行解析 原题目链接 题目描述 示例 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] 仅包含小写字母 题解python方法一排序 class Solution:def groupAnagrams(self, strs: List[str]) - List[List[str]]:mp collections.defaultdict(list)for st in strs:key .join(sorted(st))mp[key].append(st)return list(mp.values())代码解析 这段代码定义了一个名为 Solution 的类类中包含一个名为 groupAnagrams 的方法。该方法用于将一组字符串按字母异位词anagram分组。以下是代码的逐行解析 class Solution:def groupAnagrams(self, strs: List[str]) - List[List[str]]:这段代码定义了一个类 Solution类中包含一个方法 groupAnagrams。这个方法接收一个参数 strs它是一个字符串列表List[str]返回值是一个列表列表中的每个元素也是一个字符串列表List[List[str]]。 mp collections.defaultdict(list)这里定义了一个名为 mp 的变量它是一个 defaultdict来自 collections 模块。defaultdict 是一种字典它在引用的键不存在时会自动创建键并将其值初始化为指定的默认值。在这个例子中默认值是一个空列表。 for st in strs:key .join(sorted(st))mp[key].append(st)这一段代码遍历输入的字符串列表 strs。 对于每个字符串 st通过 sorted(st) 对字符串的字符进行排序得到一个排序后的字符列表。然后通过 .join(sorted(st)) 将排序后的字符列表重新组合成一个字符串 key。使用这个 key 作为键将原始字符串 st 添加到 mp 字典中对应的列表中。 return list(mp.values())最后将字典 mp 中所有的值即各个字母异位词分组的列表转换为一个列表并返回这个列表。 总结 这个方法的主要作用是将输入的字符串列表按字母异位词分组。字母异位词是指由相同字母组成但顺序不同的字符串。通过对每个字符串的字符进行排序可以生成唯一的键排序后的字符串用这个键来将原始字符串分组。 例如输入 [eat, tea, tan, ate, nat, bat]该方法将返回 [[eat, tea, ate], [tan, nat], [bat]]。 代码运行解析 当然可以我们来详细跟踪代码执行的每一步以理解它是如何处理输入 [eat, tea, tan, ate, nat, bat] 的。 import collectionsclass Solution:def groupAnagrams(self, strs: List[str]) - List[List[str]]:mp collections.defaultdict(list)创建了一个 defaultdict初始状态 mp 是空的mp {}。 for st in strs:key .join(sorted(st))mp[key].append(st)遍历 strs 列表并对每个字符串执行以下操作 处理 st eat: sorted(eat) 结果是 [a, e, t]key .join([a, e, t]) 结果是 aetmp[aet].append(eat)更新后的 mp 是{aet: [eat]} 处理 st tea: sorted(tea) 结果是 [a, e, t]key .join([a, e, t]) 结果是 aetmp[aet].append(tea)更新后的 mp 是{aet: [eat, tea]} 处理 st tan: sorted(tan) 结果是 [a, n, t]key .join([a, n, t]) 结果是 antmp[ant].append(tan)更新后的 mp 是{aet: [eat, tea], ant: [tan]} 处理 st ate: sorted(ate) 结果是 [a, e, t]key .join([a, e, t]) 结果是 aetmp[aet].append(ate)更新后的 mp 是{aet: [eat, tea, ate], ant: [tan]} 处理 st nat: sorted(nat) 结果是 [a, n, t]key .join([a, n, t]) 结果是 antmp[ant].append(nat)更新后的 mp 是{aet: [eat, tea, ate], ant: [tan, nat]} 处理 st bat: sorted(bat) 结果是 [a, b, t]key .join([a, b, t]) 结果是 abtmp[abt].append(bat)更新后的 mp 是{aet: [eat, tea, ate], ant: [tan, nat], abt: [bat]} return list(mp.values())最终将 mp 的值转换为列表list(mp.values())。返回结果是 [[eat, tea, ate], [tan, nat], [bat]]。 综上代码的每一步执行结果如下 mp {} 初始状态mp {aet: [eat]}mp {aet: [eat, tea]}mp {aet: [eat, tea], ant: [tan]}mp {aet: [eat, tea, ate], ant: [tan]}mp {aet: [eat, tea, ate], ant: [tan, nat]}mp {aet: [eat, tea, ate], ant: [tan, nat], abt: [bat]}返回值[[eat, tea, ate], [tan, nat], [bat]] 题解C方法一排序 class Solution { public:vectorvectorstring groupAnagrams(vectorstring strs) {unordered_mapstring, vectorstring mp;for (string str:strs){string key str;sort(key.begin(),key.end());mp[key].emplace_back(str);}vectorvectorstring ans;for (auto it mp.begin();it ! mp.end(); it){ans.emplace_back(it-second);}return ans;} };代码解析运行解析 这段代码定义了一个名为 Solution 的类类中包含一个名为 groupAnagrams 的方法。这个方法用于将一组字符串按字母异位词anagram分组。以下是代码的逐行解析 class Solution { public:vectorvectorstring groupAnagrams(vectorstring strs) {这段代码定义了一个类 Solution类中包含一个公有方法 groupAnagrams。该方法接收一个引用参数 strs它是一个字符串的向量vectorstring返回值是一个二维字符串向量vectorvectorstring。 unordered_mapstring, vectorstring mp;这里定义了一个名为 mp 的变量它是一个 unordered_map键类型是 string值类型是 vectorstring。这个哈希映射用于将排序后的字符串作为键映射到原始字符串列表作为值。 for (string str: strs) {string key str;sort(key.begin(), key.end());mp[key].emplace_back(str);}这一段代码遍历输入的字符串向量 strs。 对于每个字符串 str将其复制到 key 中。通过 sort(key.begin(), key.end()) 对 key 中的字符进行排序。使用排序后的 key 作为键将原始字符串 str 添加到 mp 字典中对应的列表中。 vectorvectorstring ans;创建一个空的二维字符串向量 ans用于存储结果。 for (auto it mp.begin(); it ! mp.end(); it) {ans.emplace_back(it-second);}遍历 mp 中的每一个键值对。 对于每一个键值对将值即一个字符串列表添加到 ans 中。 return ans;} };最后返回 ans它包含了按字母异位词分组的字符串列表。 总结 这个方法的主要作用是将输入的字符串向量按字母异位词分组。字母异位词是指由相同字母组成但顺序不同的字符串。通过对每个字符串的字符进行排序可以生成唯一的键排序后的字符串用这个键来将原始字符串分组。 例如输入 [eat, tea, tan, ate, nat, bat]该方法将返回 [[eat, tea, ate], [tan, nat], [bat]]。 让我们详细跟踪代码执行的每一步以理解它是如何处理输入 [eat, tea, tan, ate, nat, bat] 的。 假设输入是 [eat, tea, tan, ate, nat, bat]代码的每一步执行结果如下 创建 mpmp {}初始状态 处理 str eat key eatsort(key.begin(), key.end()) 结果是 key aetmp[aet].emplace_back(eat)更新后的 mp 是{aet: [eat]} 处理 str tea key teasort(key.begin(), key.end()) 结果是 key aetmp[aet].emplace_back(tea)更新后的 mp 是{aet: [eat, tea]} 处理 str tan key tansort(key.begin(), key.end()) 结果是 key antmp[ant].emplace_back(tan)更新后的 mp 是{aet: [eat, tea], ant: [tan]} 处理 str ate key atesort(key.begin(), key.end()) 结果是 key aetmp[aet].emplace_back(ate)更新后的 mp 是{aet: [eat, tea, ate], ant: [tan]} 处理 str nat key natsort(key.begin(), key.end()) 结果是 key antmp[ant].emplace_back(nat)更新后的 mp 是{aet: [eat, tea, ate], ant: [tan, nat]} 处理 str bat key batsort(key.begin(), key.end()) 结果是 key abtmp[abt].emplace_back(bat)更新后的 mp 是{aet: [eat, tea, ate], ant: [tan, nat], abt: [bat]} 遍历 mp将每个值字符串列表添加到 ans 中 ans [[eat, tea, ate], [tan, nat], [bat]] 返回 ans最终结果是[[eat, tea, ate], [tan, nat], [bat]]。
http://www.w-s-a.com/news/23781/

相关文章:

  • 建站主机 wordpress专业的菏泽网站建设公司
  • 网站响应时间 标准网站建设色调的
  • 网站开发的合同网站建设 设计
  • 网站开发设置网页端口申请免费个人网站空间
  • 制作广告网站的步骤云服务器做网站
  • ipv6可以做网站吗东莞网站建站推广
  • 注册功能的网站怎么做做网站容易还是编程容易
  • wordpress建立目录seo编辑培训
  • 网站怎么群发广州现在可以正常出入吗
  • 微信有网站开发吗多语种网站
  • 深圳网站设计 建设首选深圳市室内设计公司排名前50
  • 上海网站建设 觉策动力wordpress接口开发
  • 网站建设服务器的选择方案小型视频网站建设
  • 江宁做网站价格扬州立扬计算机培训网站建设怎么样
  • 手表网站背景开发新客户的十大渠道
  • 定制网站设计wordpress写的网站
  • p2p网站建设公司排名成都装饰公司
  • 网站被k怎么恢复wordpress缓存类
  • 做外贸有哪些网站平台最近文章 wordpress
  • joomla网站模板一个人做网站的swot
  • 南京建设网站需要多少钱深圳专业网站建设制作价格
  • 天河建网站装修公司线上推广方式
  • 超市网站怎么做的目前最流行的拓客方法
  • 做文字logo的网站贵阳商城网站开发
  • 沧州有没有做网站的中国建筑设计
  • 建设网站 系统占用空间在线代理浏览网站
  • 做海报有什么参考的网站网站建设验收合同
  • 酒店网站制作wordpress文章评论设置
  • 造一个官方网站wordpress mysql类
  • 怎么做卡商网站河南做网站找谁