当前位置: 首页 > 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/799213.html

相关文章:

  • 北京的建设网站公司wordpress引用图片
  • 孙俪做的网站广告wordpress tinymce编辑器
  • 网站建设到一半想换一家网站建设 小程序开发 营销推广
  • 做论坛网站看什么书wordpress主题模板文件下载
  • 北京地区网站制作公司大连最好的做网站的公司
  • 网站有哪几种柳州最强的网站建设
  • 做网站域名备案需要多久wordpress设置固定链接不生效
  • 石家庄建设厅网站免费十八种禁用网站
  • PHP与网站建设的课后笔记百度关键词搜索热度
  • w3c网站代码标准规范怎样建设淘宝客导购网站
  • 怎么建设个人网站教程新开传奇网站新开网
  • 网站建站的步骤wordpress微信支付插件
  • 网站建设费用初步预算台州网络营销公司
  • 西安网站开发高端网站开发佛山网站搭建公司
  • 网站诊断及优化方案成立一个公司需要多少钱
  • 阜阳做网站的网络公司wordpress主页显示图片
  • 华夏运用网站服务器 无法访问网站
  • 网站开发技术与开发环境天津网站建设价格多少
  • 如何创建自己公司的网站wordpress主体中的psd
  • php网站建设教程视频公众号开发者怎么添加
  • 网站设计活动主题免费网址大全免费观看
  • 做自己的网站怎么赚钱有本地服务器怎么做网站
  • 上传网站的软件昆明网站建设大全
  • 个人网站界面设计图片互联网+创业项目计划书
  • wordpress官方网站制作公司网站大概多少钱
  • 网站百度终端适配代码胶州网站设计公司
  • 邢台网站制作哪家强如何做优品快报下的子网站
  • 为何建设银行的网站登不上去网站设计的基本步骤
  • 品牌型网站制作公司wordpress文章内翻页
  • 苏州网站建设方案策划找人做网站!!! 网站定制开发