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

建设厅企业锁在哪个网站登录深圳网站建设公司的外文名是

建设厅企业锁在哪个网站登录,深圳网站建设公司的外文名是,景点网站设计与制作,河南科兴建设有限公司网站文章目录 题目思路解题过程Python代码C代码复杂度 题目 给出长度相同的两个字符串s1 和 s2 #xff0c;还有一个字符串 baseStr 。 其中 s1[i] 和 s2[i] 是一组等价字符。 举个例子#xff0c;如果 s1 “abc” 且 s2 “cde”#xff0c;那么就有 ‘a’ ‘c’, ‘b’ ‘… 文章目录 题目思路解题过程Python代码C代码复杂度 题目 给出长度相同的两个字符串s1 和 s2 还有一个字符串 baseStr 。 其中 s1[i] 和 s2[i] 是一组等价字符。 举个例子如果 s1 “abc” 且 s2 “cde”那么就有 ‘a’ ‘c’, ‘b’ ‘d’, ‘c’ ‘e’。 等价字符遵循任何等价关系的一般规则 自反性 ‘a’ ‘a’对称性 ‘a’ ‘b’ 则必定有 ‘b’ ‘a’传递性 ‘a’ ‘b’ 且 ‘b’ ‘c’ 就表明 ‘a’ ‘c’ 例如 s1 “abc” 和 s2 “cde” 的等价信息和之前的例子一样那么 baseStr “eed” , “acd” 或 “aab”这三个字符串都是等价的而 “aab” 是 baseStr 的按字典序最小的等价字符串 利用 s1 和 s2 的等价信息找出并返回 baseStr 的按字典序排列最小的等价字符串。 示例 1 输入s1 parker, s2 morris, baseStr parser 输出makkek 解释根据 A 和 B 中的等价信息我们可以将这些字符分为 [m,p], [a,o], [k,r,s], [e,i] 共 4 组。每组中的字符都是等价的并按字典序排列。所以答案是 makkek。示例 2 输入s1 hello, s2 world, baseStr hold 输出hdld 解释根据 A 和 B 中的等价信息我们可以将这些字符分为 [h,w], [d,e,o], [l,r] 共 3 组。所以只有 S 中的第二个字符 o 变成 d最后答案为 hdld。示例 3 输入s1 leetcode, s2 programs, baseStr sourcecode 输出aauaaaaada 解释我们可以把 A 和 B 中的等价字符分为 [a,o,e,r,s,c], [l,p], [g,t] 和 [d,m] 共 4 组因此 S 中除了 u 和 d 之外的所有字母都转化成了 a最后答案为 aauaaaaada。提示 1 s1.length, s2.length, baseStr 1000s1.length s2.length字符串s1, s2, and baseStr 仅由从 ‘a’ 到 ‘z’ 的小写英文字母组成。 思路 a bb cc d则a与d存在连通性查找连通分量可以使用并查集。 注意在合并s1[i]和s2[i]时两个字母的祖先字典序排列较小的作为新的公共祖先 解题过程 1、初始化并查集因为总共只有26个小写字母所以并查集长度为26每个字母的祖先初始化为其本身。 2、关联s1与s2中的字母。 3、关联后再次更新并查集确保每个字母的祖先最小。 4、遍历baseStr生成结果。 Python代码 def search(node, parent):# 查找祖先节点if node parent[node]:return nodeparent[node] search(parent[node], parent)return parent[node]def union(node1, node2, parent):# 关联node1、node2ancestor1 search(node1, parent)ancestor2 search(node2, parent)if ancestor1 ancestor2:parent[ancestor2] ancestor1else:parent[ancestor1] ancestor2class Solution:def smallestEquivalentString(self, s1: str, s2: str, baseStr: str) - str:# 初始化并查集所有字符(字母)的父节点都是本身parent list(range(26))# 关联s1和s2中的每个字母n len(s1)for i in range(n):a ord(s1[i]) - ord(a)b ord(s2[i]) - ord(a)union(a, b, parent)# 更新并查集for i in range(26):search(i, parent)# 生成结果ans for c in baseStr:ans chr(ord(a) parent[ord(c) - ord(a)])return ansC代码 typedef struct {int* parent; } UnionFind;UnionFind* createUnionFind(int n) {// 初始化并查集UnionFind* uf malloc(sizeof(UnionFind));uf-parent malloc(n * sizeof(int));for (int i 0; i n; i) {uf-parent[i] i;}return uf; }int find(int x, UnionFind* uf) {// 查找祖先节点if (uf-parent[x] ! x) {uf-parent[x] find(uf-parent[x], uf);}return uf-parent[x]; }void unite(int x, int y, UnionFind* uf) {x find(x, uf);y find(y, uf);if (x y) return;if (x y) {uf-parent[x] y;} else {uf-parent[y] x;}}char* smallestEquivalentString(char* s1, char* s2, char* baseStr) {// 初始化并查集UnionFind* uf createUnionFind(26);for (int i 0; s1[i]; i) {unite(s1[i] - a, s2[i] - a, uf);}for (int i 0; baseStr[i]; i) {baseStr[i] a find(baseStr[i] - a, uf);}free(uf-parent);free(uf);return baseStr; }复杂度 时间复杂度O((nm)logC)。其中n是s1和s2的长度m是baseStr的长度C是字符集大小本题中为 26。由于并查集使用了路径压缩优化合并和查找的平均时间复杂度为 O(α( C ))其中 α 是反阿克曼函数最差时间复杂度为 O(logC)。 空间复杂度O( C )C 是字符集大小本题中为 26并查集所需的空间是 O( C )。
http://www.zqtcl.cn/news/823085/

相关文章:

  • 门户网站简称昆明本地网站
  • 网站定位的核心意义离婚协议书模板 完整版
  • 网站首页改版方案长图制作网站
  • 网站的栏目有什么名字保定网络公司网站
  • 南京建设机械网站建设银行网站解除绑定
  • 厚街公司网站建设wordpress发邮件更新
  • wap网站制作网络设计公司经营范围
  • 织梦网站被做跳转还被删除文件第三方电子商务平台有哪些
  • 财经网站源码 织梦游戏ui培训
  • 石家庄站布局图网站建设公司怎么
  • 电商网站建设选迅法网东莞系统网站建设
  • 网站栏目 英文wordpress 情侣
  • 济南市历下区建设局官方网站wordpress 作者页
  • 武进建设银行网站首页大型网站建设哪家快
  • 做网站用vs怎么自己写代码做网站
  • 网站建设产品需求文档技术培训学校机构
  • 简单个人网站源码石景山网站seo优化排名
  • 用花生做网站房地产电子商务的网站建设
  • 宁波网站建设团队sem竞价托管多少钱
  • 工艺品东莞网站建设营销助手app
  • 怎么添加网站 多少钱wordpress 在线教育模板
  • 做鞋的垂直网站小型购物网站模板
  • 石家庄公司网站建设网站建设技术难点
  • 阿里云能放企业网站吗建设网站的建设费用包括什么
  • 网站对公司的作用是什么初学者学做网站用什么软件
  • 网站的建设模式高校后勤网站建设要求
  • 网站的导航栏怎么做的网站seo诊断报告怎么写
  • elementui 做的网站写网站编程需要什么
  • 一站式网站建设顾问小程序小游戏开发
  • 网站导航html网站开发从哪开始学