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

网站排名易下拉技巧关键词优化一般收费价格

网站排名易下拉技巧,关键词优化一般收费价格,正规网店代运营公司,城乡和住房建设部网站文章目录 习题2608.图中最短环2360.图中的最长环 求解一个图中的,环的长度是一类比较经典的问题,当然判断是否有环就是更加基础一点的问题啦 求解环的最大or最小长度,其实我们可以采用BFS或者DFS进行求解,下面我着重介绍这个无向…

文章目录

  • 习题
    • 2608.图中最短环
    • 2360.图中的最长环

  • 求解一个图中的,环的长度是一类比较经典的问题,当然判断是否有环就是更加基础一点的问题啦

  • 求解环的最大or最小长度,其实我们可以采用BFS或者DFS进行求解,下面我着重介绍这个无向图BFS有向图BFS求解,同时要注意时间复杂度的问题

  • 其实我们只需查看将要加入的节点的长度是否已经确定,如果已经确定的话,说明这个节点已经不是第一次访问了,那么就会出现一个环环的长度就是:dis[x] + dis[neigh] + 1

  • 无向图中,需要遍历每一个起点的情况,并且还不能在找到第一个环就返回

在这里插入图片描述

习题

2608.图中最短环

2608.图中最短环

在这里插入图片描述
在这里插入图片描述

  • 无向图的情况,需要遍历每一个起点
  • 观察时间复杂度,每次的bfs都是o(m),每一个节点都遍历,那就是 o(n*m)

from collections import dequeclass Solution:def findShortestCycle(self, n: int, edges: List[List[int]]) -> int:graph = [[] for _ in range(n)]for u, v in edges:graph[u].append(v)graph[v].append(u)min_cycle = float('inf')def bfs(start):queue = deque([(start, -1)])  # (node, parent)visited = {start: 0}  # 记录节点到start的距离ans = float("inf")while queue:x, fa = queue.popleft()for neigh in graph[x]:if neigh == fa:  # 跳过父节点continueif neigh not in visited:  # 未访问过,继续BFSvisited[neigh] = visited[x] + 1queue.append((neigh, x))else:  # 发现环!# 环长度 = x到start的距离 + neigh到start的距离 + 1cycle_len = visited[x] + visited[neigh] + 1ans = min(ans,cycle_len)return ansreturn float('inf')  # 未找到环for i in range(n):cycle_len = bfs(i)print(cycle_len)min_cycle = min(min_cycle, cycle_len)return min_cycle if min_cycle != float('inf') else -1

2360.图中的最长环

2360.图中的最长环

在这里插入图片描述
在这里插入图片描述

  • 有向图
  • 并且,注意到,一个节点只会最多有一个出边
  • 和上面的无向图的不同:如果还是采用这个BFS的话,也可以完成,但是时间复杂度会超时,但是下面展示一下DFS的解法,只用遍历一遍o(n)
class Solution:def longestCycle(self, edges: List[int]) -> int:# 注意题目的条件,至多只有一条有向边,每次回溯的时候,可以记录当前的路径上的点ans = -1 path = []n = len(edges)visited = [False]*ndef dfs(curi):nonlocal ansnext = edges[curi]if next != -1 :# 接下来还能行走,如果没被访问,就加入if not visited[next]:visited[next] = Truepath.append(next)dfs(next)else:# 被访问过了,需要判断是否在路径中if next in path:cal = path.index(next)ans = max(ans,len(path)-cal)returnfor i in range(n):if not visited[i]:path.clear()path.append(i)dfs(i)return ans
http://www.dtcms.com/wzjs/126033.html

相关文章:

  • 网页设计案例教程课后实训答案seo有名气的优化公司
  • 东莞网络公司哪家最好优化师
  • 南宁做网站方案促销策略
  • 科技有限公司可以做网站建设吗?百度经验官网入口
  • swift 网站开发杭州明开seo
  • 在什么网站上可以找设计兼职来做保定网站建设报价
  • 承接博彩网站建设seo学徒招聘
  • wordpress weui主题大泽山seo快速排名
  • 网站维护具体做啥成都高新seo
  • 郑州市建设局官网seo平台代理
  • 30天网站建设实录 pdf网站怎么制作教程
  • 廊坊市建设局官方网站东莞网站seo技术
  • 有没有什么免费网站安卓优化大师app
  • php做商城网站建设搜索引擎排名优化技术
  • 做网站都需要什么指数基金
  • 导购网站怎么做视频教学如何做网站推广私人
  • 平台网站建设报价网址推广
  • 高端网站开发企业新闻投稿平台
  • wordpress手机单页面上海搜索引擎优化1
  • 网站建设与维护管理实训报告今天刚刚发生的新闻
  • 大连网站制作在线环球网最新消息
  • 营销型网站设计难不难网络推广网站电话
  • 教育公司 网站建设百度排名优化专家
  • 网站客户评价网站推广优化排名
  • 学什么可以做网站网络营销的概念及特征
  • 容桂品牌网站建设优惠哈尔滨网络推广
  • 如何高效率的建设网站windows优化大师怎么彻底删除
  • 广州市建设监理协会网站市场监督管理局电话
  • 域名和网站空间相互做解析宁波seo外包服务商
  • 东莞樟木头网站制作直通车怎么开才有效果