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

呼市做无痛人流z首大网站百度客服联系方式

呼市做无痛人流z首大网站,百度客服联系方式,邢台做wap网站费用,供应链管理师证书有用吗dijsktra算法模板: def dijkstra(x):#x表示出发点dis[inf]*n #dis记录从x出发到各个点的最短距离,初始化为infdis[x]0 #源点到自己的距离为0vis[False]*n #检查各个点是否访问过for _ in range(n-1): #检查除了源点的其他n-1个点,更新dis…

dijsktra算法模板:

def dijkstra(x):#x表示出发点dis=[inf]*n #dis记录从x出发到各个点的最短距离,初始化为infdis[x]=0    #源点到自己的距离为0vis=[False]*n #检查各个点是否访问过for _ in range(n-1): #检查除了源点的其他n-1个点,更新disnode=-1 #开始假设不知道谁是离源点最近的点for j in range(n):#循环查找谁是离源点最近的那个点if not vis[j] and (node==-1 or dis[j]<dis[node]):node=jfor j in range(n):#对node的邻居点进行松弛处理dis[j]=min(dis[j],dis[node]+g[node][j])vis[node]=True #对node点标记为已访问

​​​​​​​743. 网络延迟时间
因为本题的节点是从1到n,所以最后把dis数组中的第一个忽略掉(dis[1:])

然后就是经典的dijkstra最短路径算法,套用模板即可。

class Solution:def networkDelayTime(self, times: List[List[int]], n: int, k: int) -> int:g=[[inf]*(n+1) for _ in range(n+1)]for x,y,w in times:g[x][y]=wdis=[inf]*(n+1)dis[k]=0vis=[False]*(n+1)for _ in range(n):x=-1for i in range(1,n+1):if not vis[i] and (x==-1 or dis[i]<dis[x]):x=ifor i in range(1,n+1):dis[i]=min(dis[i],dis[x]+g[x][i])vis[x]=Trueans=max(dis[1:])return ans if ans!=inf else -1

2642. 设计可以求最短路径的图类
又是dijkstra最短路径算法,这里需要判断一下能否到达终点的问题:

class Graph:def __init__(self, n: int, edges: List[List[int]]):self.n=nself.g=[[float("INF")]*n for _ in range(self.n)]for x,y,cost in edges:self.g[x][y]=costdef addEdge(self, edge: List[int]) -> None:self.g[edge[0]][edge[1]]=edge[2]def shortestPath(self, node1: int, node2: int) -> int:n=len(self.g)dis=[float('INF')]*ndis[node1]=0vis=[False]*nwhile 1:x=-1for i,(b,d) in enumerate(zip(vis,dis)):if not b and (x<0 or d<dis[x]):x=iif x<0 or dis[x]==float('INF'):return -1if x==node2:return dis[x]vis[x]=Truefor y,w in enumerate(self.g[x]):if dis[x]+w<dis[y]:dis[y]=dis[x]+w# Your Graph object will be instantiated and called as such:
# obj = Graph(n, edges)
# obj.addEdge(edge)
# param_2 = obj.shortestPath(node1,node2)

1334. 阈值距离内邻居最少的城市
枚举每个点作为出发点,算法返回小于等于阈值的数目即可。

因为题目要求返回数量最少且编号最大的点,所以从n-1到0遍历即可。

class Solution:def findTheCity(self, n: int, edges: List[List[int]], distanceThreshold: int) -> int:g=[[inf]*n for _ in range(n)]for x,y,w in edges:g[x][y]=wg[y][x]=w#枚举每个点作为出发点,做dijkstra算法def dijkstra(x):dis=[inf]*ndis[x]=0vis=[False]*nfor _ in range(n-1):node=-1for j in range(n):if not vis[j] and (node==-1 or dis[j]<dis[node]):node=jfor j in range(n):dis[j]=min(dis[j],dis[node]+g[node][j])vis[node]=Truereturn sum(d<=distanceThreshold for d in dis)ans,cnt=n,inf    for i in range(n-1,-1,-1):if dijkstra(i)<cnt:cnt=dijkstra(i)ans=ireturn ans

http://www.bjxfkj.com.cn/article/104104.html

相关文章:

  • 2019做哪个网站赚钱北京网站建设优化
  • 小说网站怎么做空间小站长申论
  • 成都企业建站模板发布任务注册app推广的平台
  • 政府网站建设和数据开放共享百度竞价推广代理商
  • 做360手机网站优室内设计师培训班学费多少
  • 自己做的网站怎么备案seo咨询师
  • asp 网站 源码中国免费广告网
  • mini主机做网站服务器大众网疫情最新消息
  • 网站信息架构图怎么做软件外包平台
  • 推广公司哪里找seo怎么做推广
  • 指定网站长期建设 运营计划seo推广服务
  • 做吃的网站湖南靠谱seo优化
  • 自己建的网站如何推广seo文章优化技巧
  • 做ppt的软件怎么下载网站矿产网站建设价格
  • 安徽网站建设公司排名如何网络媒体推广
  • 农家院网站素材石家庄关键词排名首页
  • 网站计划任务怎么做友情链接导航
  • 深圳网站建设骏域网站建设提高搜索引擎检索效果的方法
  • 如何自己动手做网站中小企业管理培训班
  • 网站建设灬金手指下拉排名优化公司哪家靠谱
  • 上海金融网站制作网站制作公司好有道搜索引擎入口
  • 上海浦东网站建设公司少女长尾关键词挖掘
  • 张家港市人民政府关于网站建设百度快照怎么发布
  • swoole怎么做直播网站厦门seo起梦网络科技
  • 深圳网站设计x程序网站优化比较好的公司
  • 乌鲁木齐建设厅网站不受限制的万能浏览器
  • 个人站长做导航网站杭州排名优化软件
  • 做个网站要多少钱 一般建站系统主要包括
  • 深圳专业网站建设平台百度网盘怎么找资源
  • 政府网站建设 价格网络推广软件免费