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

wordpress里无法添加图片北京seo招聘

wordpress里无法添加图片,北京seo招聘,网站做装修,四川建设人才考试官网1.题目基本信息 1.1.题目描述 现有一种使用英语字母的外星文语言,这门语言的字母顺序与英语顺序不同。 给定一个字符串列表 words ,作为这门语言的词典,words 中的字符串已经 按这门新语言的字母顺序进行了排序 。 请你根据该词典还原出此…

1.题目基本信息

1.1.题目描述

现有一种使用英语字母的外星文语言,这门语言的字母顺序与英语顺序不同。

给定一个字符串列表 words ,作为这门语言的词典,words 中的字符串已经 按这门新语言的字母顺序进行了排序 。

请你根据该词典还原出此语言中已知的字母顺序,并 按字母递增顺序 排列。若不存在合法字母顺序,返回 "" 。若存在多种可能的合法字母顺序,返回其中 任意一种 顺序即可。

字符串 s 字典顺序小于 字符串 t 有两种情况:

  • 在第一个不同字母处,如果 s 中的字母在这门外星语言的字母顺序中位于 t 中字母之前,那么 s 的字典顺序小于 t 。

  • 如果前面 min(s.length, t.length) 字母都相同,那么 s.length < t.length 时,s 的字典顺序也小于 t 。

1.2.题目地址

https://leetcode.cn/problems/alien-dictionary/description/

2.解题方法

2.1.解题思路

kahn算法 / DFS

2.2.解题步骤

kahn算法进行拓扑排序步骤

  • 第一步,根据"有序"的words数组构建各个字符之间的有向图,使用邻接表进行存储;并在建图的过程中统计各个结点的入度信息到inDegree哈希表中

    • 1.1.将所有字符都初始化到图中,并初始化它们入度为0

    • 1.2.遍历相邻单词组,构建图,并填充入度到inDegree哈希表

      • 1.2.1.将边添加到图中

      • 1.2.2.统计入度

      • 1.2.3.word1和word2的前缀相同且word1的长度大于word2的长度是不合法的情况,直接返回空字符串

  • 第二步,kahn算法进行拓扑排序。先判断图中是否有环,如果无环,返回任意一个拓扑排序的序列,如果有环,返回空字符串

    • 2.1.将入度为0的结点添加到队列中,并初始化拓扑排序序列数组

    • 2.2.kahn算法进行拓扑排序

  • 第三步,如果inDegree中所有结点的入度都为0,说明无环

DFS算法步骤

  • 第一步,构建出现的字母集合

  • 第二步,构建有向图的邻接表和入度字典

  • 第三步,DFS进行拓扑排序

3.解题代码

kahn算法版本代码

from collections import defaultdict, dequeclass Solution:def alienOrder(self, words: List[str]) -> str:# 思路:拓扑排序# 第一步,根据"有序"的words数组构建各个字符之间的有向图,使用邻接表进行存储;并在建图的过程中统计各个结点的入度信息到inDegree哈希表中graph = defaultdict(list)inDegree = defaultdict(int)# 1.1.将所有字符都初始化到图中,并初始化它们入度为0charsSet = set()for w in words:for c in w:charsSet.add(c)for c in charsSet:graph[c] = []inDegree[c] = 0# 1.2.遍历相邻单词组,构建图,并填充入度到inDegree哈希表n = len(words)for i in range(1, n):word1, word2 = words[i - 1], words[i]j = 0length1, length2 = len(word1), len(word2)while j < min(length1, length2):if word1[j] != word2[j]:# 1.2.1.将边添加到图中graph[word1[j]].append(word2[j])# 1.2.2.统计入度inDegree[word2[j]] += 1breakj += 1# 1.2.3.word1和word2的前缀相同且word1的长度大于word2的长度是不合法的情况,直接返回空字符串if j == min(length1, length2) and length1 > length2:return ""# print(graph)# print(inDegree)# 第二步,kahn算法进行拓扑排序。先判断图中是否有环,如果无环,返回任意一个拓扑排序的序列,如果有环,返回空字符串# 2.1.将入度为0的结点添加到队列中,并初始化拓扑排序序列数组arr = []    # 拓扑排序的序列que = deque()for node in graph.keys():if inDegree[node] == 0:que.append(node)arr.append(node)# 2.2.kahn算法进行拓扑排序while que:for _ in range(len(que)):node = que.popleft()del inDegree[node]for neighNode in graph[node]:inDegree[neighNode] -= 1if inDegree[neighNode] == 0:que.append(neighNode)arr.append(neighNode)# print(inDegree, arr)# 第三步,如果inDegree中所有结点的入度都为0,说明无环result = "".join(arr) if len(inDegree) == 0 else ""return result

dfs算法版本代码

from collections import defaultdict, dequeclass Solution:# 思路一:DFSdef alienOrder(self, words: List[str]) -> str:length=len(words)# 构建出现的字母集合lettersSet=set()for word in words:for letter in word:lettersSet.add(letter)# 构建图、入度字典graph={letter:[] for letter in lettersSet}inDict=defaultdict(int)for i in range(1,length):preWord=words[i-1]word=words[i]isNormalEnd=Truefor preLetter,letter in zip(preWord,word):# print(preLetter,letter)if preLetter!=letter:graph[preLetter].append(letter)inDict[letter]+=1isNormalEnd=Falsebreakif isNormalEnd:# print("t4",preWord,word)if len(preWord)>len(word):return ""# print("t1",graph,inDict,lettersSet)# dfsvisiting=set()visited=set()stack=[]# 返回True代表无环def dfs(node):if node in visited:return Trueif node in visiting:return Falsevisiting.add(node)for subNode in graph[node]:noCircle=dfs(subNode)if not noCircle:return Falsevisiting.remove(node)visited.add(node)stack.append(node)return Truefor node in list(graph.keys()):noCircle=dfs(node)if not noCircle:return ""return "".join(stack[::-1])

4.执行结果

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

相关文章:

  • 网站开发解决方案信息流广告有哪些投放平台
  • 一个公司做网站需要注意什么条件如何在百度打广告
  • 网站域名为个人的公司能备案关键词优化seo费用
  • 阜新网站建设2022最近比较火的热点话题
  • 网页设计建网站安徽新站优化
  • 东光网站建设网址seo优化排名
  • 如何选择制作网站公司想学互联网从哪里入手
  • 投资公司靠什么赚钱的seo网络推广优化教程
  • 界面设计心得网站seo哪家做的好
  • 佛山 政府网站 建设 规范成都最好的网站推广优化公司
  • 广州站有高铁吗seo关键词排名价格
  • 怎么把网站和域名绑定软件推广的渠道是哪里找的
  • 网站建设服务价格seo公司厦门
  • 广州做网站公司排名elo机制
  • 爱情动作片做网站站长工具怎么关闭
  • 备案怎么关闭网站吗佛山百度网站排名优化
  • 有经验的做网站小红书关键词热度查询
  • 网页设计公司上海手机优化大师哪个好
  • 网站上的流动图片怎么做的友链出售
  • 环球资源网商务网站建设目的网络软文营销是什么意思
  • 做宠物食品的网站郑州网站推广技术
  • 帮人做网站推选的公司深圳网络推广优化
  • 邢台建设一个企业网站seo怎么优化方法
  • 找别人做网站要注意什么软件什么平台可以打广告做宣传
  • 网站测试教程电商网站设计方案
  • 沙元浦做网站的公司怎么看百度关键词的搜索量
  • 页游赚钱福州外包seo公司
  • 我的世界找建筑网站如何给公司做网络推广
  • b2b电子商务营销平台有哪些合肥seo优化排名公司
  • 苏州建设监理有限公司网站企点qq官网