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

网站建设有关数据库的代码域名是什么 有什么用

网站建设有关数据库的代码,域名是什么 有什么用,邦拓网站建设,黄岩区住房保障建设局网站文章目录 3243.新增道路查询后的最短距离1311.获取你好友已观看的视频 BFS:广度优先搜索(BFS) 是一种常用的算法,通常用于解决图或树的遍历问题,尤其是寻找最短路径或层级遍历的场景。BFS 的核心思想是使用队列(FIFO 数…

文章目录

  • 3243.新增道路查询后的最短距离
  • 1311.获取你好友已观看的视频

BFS:广度优先搜索(BFS) 是一种常用的算法,通常用于解决图或树的遍历问题,尤其是寻找最短路径或层级遍历的场景。BFS 的核心思想是使用队列(FIFO 数据结构)来逐层遍历节点。

  • 模版
from collections import deque
# graph
def bfs(start):# 初始化队列,并将起始节点加入队列queue = deque([start])# 初始化 visited 集合,记录已访问的节点visited = set([start])while queue:# 从队列中取出当前节点node = queue.popleft()# 处理当前节点(例如打印、判断条件等)# 遍历当前节点的邻居for neighbor in graph[node]:if neighbor not in visited:# 将未访问的邻居加入队列,并标记为已访问queue.append(neighbor)visited.add(neighbor)

BFS求解最短距离:必要的条件是每条边的权值都是1

  • 最短距离的求解:分为求解start到end,以及start到剩余节点的问题
def bfs(start,end):queue = deque([start])# 可以记录是否访问过,还可以记录距离visited = {start:0}while queue:node = queue.popleft()if node == end:return visited[node]# friends是邻接表for neigh in friends[node]:if neigh not in visited:# 距离的更新visited[neigh] = visited[node] +  1queue.append(neigh)
  • 最短路径,求解start到其余节点的距离,区别在于删除了那个if node == end的判断
from collections import deque
# 这个friend是邻接表
def bfs(start):# 初始化队列,将起始节点加入队列queue = deque([start])# 记录每个节点是否被访问过以及从起始节点到该节点的最短距离# 初始时,起始节点的距离为 0visited = {start: 0}while queue:# 从队列中取出一个节点node = queue.popleft()# 遍历该节点的所有邻居节点for neigh in friends[node]:if neigh not in visited:# 如果邻居节点未被访问过,更新其距离为当前节点距离加 1visited[neigh] = visited[node] + 1# 将邻居节点加入队列,以便后续继续遍历其邻居queue.append(neigh)return visited

3243.新增道路查询后的最短距离

3243.新增道路查询后的最短距离

在这里插入图片描述

思路分析:

from collections import dequeclass Solution:def shortestDistanceAfterQueries(self, n: int, queries: List[List[int]]) -> List[int]:# 初始化邻接表edge = [[] for _ in range(n)]for i in range(n - 1):edge[i].append(i + 1)  # 添加单向边# BFS 函数,计算从 start 到 end 的最短距离def bfs(start, end):queue = deque([start])visited = {start: 0}  # 记录每个节点的距离,也能记录是否被访问过while queue:node = queue.popleft()if node == end:return visited[node]  # 返回最短距离for neigh in edge[node]:  # 遍历当前节点的邻居if neigh not in visited:# 注意的是这个距离的更新方式visited[neigh] = visited[node] + 1  # 更新距离queue.append(neigh)# 处理查询ans = []for p, q in queries:edge[p].append(q)  # 添加新边ans.append(bfs(0, n - 1))  # 计算最短距离return ans

1311.获取你好友已观看的视频

311.获取你好友已观看的视频

在这里插入图片描述

思路分析:

我的力扣题解

from collections import deque,defaultdict,Counter
class Solution:def watchedVideosByFriends(self, watchedVideos: List[List[str]], friends: List[List[int]], id: int, level: int) -> List[str]:# 首先我们只需记录你的朋友的级别!也就是最短距离,在最短距离的模版基础上修改即可# 后面再遍历即可# 难处在于什么都没有构建,不过这个friends就是相当于邻接表了# 我们只需计算start,enddef bfs(start,end):queue = deque([start])visited = {start:0}while queue:node = queue.popleft()if node == end:return visited[node]for neigh in friends[node]:if neigh not in visited:visited[neigh] = visited[node] +  1queue.append(neigh)n = len(watchedVideos)video = []ans = []for i in range(n):if bfs(id,i) == level:video.extend(watchedVideos[i])# 去重吧ans = list(set(i for i in video))count = Counter(video)ans_sorted = sorted(ans, key=lambda x: (count[x], x))return ans_sorted
http://www.cadmedia.cn/news/10098.html

相关文章:

  • 杭州企业网站建设公司怎么样营销软件代理推广
  • 手机上的网站下载百度app免费下载安装
  • 未央微网站建设百度推广费用一天多少钱
  • 支付网站怎么设计的无锡网络推广平台
  • 西宁网站建设公司哪家好世界杯比分查询
  • 东莞市官网网站建设公司怎么查找关键词排名
  • 平湖网站建设公司关键词歌词表达的意思
  • 互联网公司 网站百度网站推广申请
  • 深圳华强北网站建设怎么建网站卖东西
  • 企业网站建设需要哪些设备旺道seo软件
  • 镇江手机网站制作深圳seo优化培训
  • 移动端手机网站制作百度指数批量获取
  • 设计网站公司为什么都在上海接app推广接单平台
  • 南昌企业建设网站设计百度新闻网站
  • 品牌创意型网站建设推广普通话手抄报简单又好看
  • 网站如何推广营销seo外包优化公司
  • 东方建设集团有限公司网站最火的推广平台
  • 南京旭光建设监理网站首页产品营销方案
  • 邢台123网站友情链接怎么做
  • 济南地区做公司网站的公司长春网站提升排名
  • 临淄网站建设价格小说排行榜2020前十名
  • 旅行社做境外购物网站百度小说排行榜总榜
  • 站长之家产品介绍seo手机端排名软件
  • 设计网站建设书南昌大学论文南宁百度快速优化
  • 安卓移动开发电脑优化大师官方免费下载
  • 中国品牌网站建设推广策略包括哪些内容
  • 四川省法治政府建设网站产品推广活动策划方案
  • 营口公司网站建设网站服务器怎么搭建
  • 电子商务网站建设财务分析网络产品运营与推广
  • 高水平高职建设网站优化营商环境评价