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

网站建设 网站开发网站页面设计模板

网站建设 网站开发,网站页面设计模板,网站设计好不好,哔哩哔哩推广网站你好,我是安然无虞。 文章目录 题目背景字母异位词分组C解法Python解法 题目背景 如果大家对于 哈希 类型的概念并不熟悉, 可以先看我之前为此专门写的算法详解: 蓝桥杯算法竞赛系列第九章巧解哈希题,用这3种数据类型足矣 字母异位词分组 题目链接&am…

在这里插入图片描述

你好,我是安然无虞。

文章目录

    • 题目背景
    • 字母异位词分组
      • C++解法
      • Python解法

在这里插入图片描述

题目背景

如果大家对于 哈希 类型的概念并不熟悉, 可以先看我之前为此专门写的算法详解:
蓝桥杯算法竞赛系列第九章·巧解哈希题,用这3种数据类型足矣

字母异位词分组

题目链接:字母异位词分组

在这里插入图片描述

解题思路:参考:《la bu la dong》

本题也是异位词相关,异位词这类问题的关键在于,如何迅速判断两个字符串是异位词,主要考察我们数据编码和 哈希表的使用:

是否可以找到一种编码方法,使得字母异位词的编码都相同?找到这种编码方式之后,就可以用一个哈希表存储编码相同的所有异位词,得到最终的答案。

242. 有效的字母异位词 考察了异位词的编码问题,对字符串排序可以是一种编码方案,如果是异位词,排序后就变成一样的了,但是这样时间复杂度略高,且会修改原始数据。更好的编码方案是利用每个字符的出现次数进行编码,也就是下面的解法代码。

代码详解:

C++解法

class Solution {
public:vector<vector<string>> groupAnagrams(vector<string>& strs) {// 建立编码到分组的映射unordered_map<string, vector<string>> encodeToGroup;// 将相同编码的字符串放到一个分组中for(auto& str : strs){// 对字符串进行编码string code = encode(str);// 将相同编码的字符串放到一起encodeToGroup[code].push_back(str);}// 统计结果vector<vector<string>> res;for(auto& group : encodeToGroup){res.push_back(group.second);}return res;}// 对字符串中字符的出现次数进行编码string encode(string& s){vector<int> hashNums(26);for(int i = 0; i < s.size(); i++){hashNums[s[i] - 'a']++;}string code(hashNums.begin(), hashNums.end());return code;}
};

Python解法

class Solution:def groupAnagrams(self, strs: List[str]) -> List[List[str]]:# 建立编码后的字符串到分组的映射codeToGroup = {}for s in strs:# 将字符串进行编码code = self.encode(s)# 将相同编码的字符串放到同一个分组if code not in codeToGroup:codeToGroup[code] = []codeToGroup[code].append(s)# 获取结果res = []for group in codeToGroup.values():res.append(group)return res def encode(self, s: str) -> str:# 按照字符出现次数进行编码count = [0] * 26 # 创建了一个长度为 26 的列表,每个元素都初始化为 0. 这个列表用于记录每个字母(从 'a' 到 'z')在字符串 中出现的次数.for c in s:delta = ord(c) - ord('a') # 获取字符的 ASCII值count[delta] += 1return str(count)
遇见安然遇见你,不负代码不负卿。
谢谢老铁的时间,咱们下篇再见~
http://www.dtcms.com/wzjs/48674.html

相关文章:

  • html做动态网站步骤与代码营销云
  • 一般程序员真实工资新乡百度网站优化排名
  • 昆山做网站费用seo独立站
  • 东光做淘宝网站三只松鼠网络营销策略
  • 网站怎么做文件下载网络服务商
  • 网站服务器系统盘满了怎么清理合肥网站推广
  • 网站 内部搜索引擎网站推广软件
  • wordpress版权年份seo科技网
  • 外贸企业网站推广方案seo专业优化公司
  • 重庆承越网站建设公司搜索引擎优化的基本内容
  • htp免费域名注册网站网站推广交换链接
  • 宜昌建设网站品牌策划案例
  • 怎样用java建设自己的网站百度官网app下载
  • 网站制作费用需要多少钱鸡西网站seo
  • 做影视网站赚钱吗sem模型
  • 手机网站关键词seo品牌营销公司
  • 定制网站建设公司哪家好互联网营销师有什么用
  • 房产信息网预告是什么意思seo代理计费系统
  • 个人网站建设的参考文献营销软件网站
  • 辽宁平台网站建设哪里好惠州关键词排名优化
  • 重庆网站建设设计公司深圳seo优化排名优化
  • 网站建设推广软件百度站长工具链接提交
  • 电子商务在酒店管理网站建设网络营销广告
  • 郑州网站推广公司服务郑州发布最新通告
  • 三国杀网页在线客服成都网站seo公司
  • 企业网站建设方案费用预算公司网站怎么注册
  • 网站建设方面的seo排名查询软件
  • 做网站需要人在看吗搜狗搜索引擎优化论文
  • 郑州企业做网站h汉狮淘宝关键词排名是怎么做的
  • 网站建设要域名和什么科目上海百度推广优化公司