golang力扣leetcode 2039.网络空闲的时刻

简介: golang力扣leetcode 2039.网络空闲的时刻

2039.网络空闲的时刻

2039.网络空闲的时刻

题解

本题就是求最远的一个点最后接收到消息+1的时间的多少,并且发收消息走的都是最短路

 那么本题的关键就是在求出最后一次发送消息的时间+来回路径长+1即可

 那么最后一次发送消息怎么算呢,假设来回长是d,重发间隔为p,那么最后发送消息的时间就是公式(d-1)/p * p,为什么是d-1呢,因为在收到消息的那一刻,是不重发消息的

 那么ans的公式就是(d-1)/p * p + d + 1,p是已知的,d通过最短路即可求出来

代码

func networkBecomesIdle(edges [][]int, patience []int) int {
  e := make([][]int, len(patience))
  for _, edge := range edges {
    u, v := edge[0], edge[1]
    e[u] = append(e[u], v)
    e[v] = append(e[v], u)
  }
  dist := make([]int, len(patience))
  for i := range dist {
    dist[i] = 0x3f3f3f3f
  }
  dist[0] = 0
  vis := make([]int, len(patience))
  queue := []int{0}
  for len(queue) > 0 {
    u := queue[0]
    queue = queue[1:]
    vis[u] = 0
    for _, v := range e[u] {
      if dist[v] > dist[u]+1 {
        dist[v] = dist[u] + 1
        if vis[v] == 0 {
          vis[v] = 1
          queue = append(queue, v)
        }
      }
    }
  }
  ans := 0
  for i := 1; i < len(patience); i++ {
    d, p := dist[i]*2, patience[i]
    ans = max(ans, (d-1)/p*p+d+1)
  }
  return ans
}
func max(i, j int) int {
  if i > j {
    return i
  }
  return j
}
目录
相关文章
|
13天前
|
存储 SQL 算法
LeetCode力扣第114题:多种算法实现 将二叉树展开为链表
LeetCode力扣第114题:多种算法实现 将二叉树展开为链表
|
8天前
|
Go
golang读取网络字节并解压zip
golang读取网络字节并解压zip
7 0
|
12天前
|
算法 数据可视化 数据挖掘
最佳加油站选择算法:解决环路加油问题的两种高效方法|LeetCode力扣134
最佳加油站选择算法:解决环路加油问题的两种高效方法|LeetCode力扣134
|
12天前
|
存储 算法 数据可视化
LeetCode 力扣题目:买卖股票的最佳时机 IV
LeetCode 力扣题目:买卖股票的最佳时机 IV
|
12天前
|
存储 算法 数据可视化
LeetCode 力扣题目:买卖股票的最佳时机 III
LeetCode 力扣题目:买卖股票的最佳时机 III
|
13天前
|
存储 缓存 算法
LeetCode力扣题目111:多种算法对比实现二叉树的最小深度
LeetCode力扣题目111:多种算法对比实现二叉树的最小深度
|
8天前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-2
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
8天前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-1
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
9天前
|
索引
【LeetCode刷题】二分查找:山脉数组的峰顶索引、寻找峰值
【LeetCode刷题】二分查找:山脉数组的峰顶索引、寻找峰值
|
9天前
|
算法
【LeetCode刷题】滑动窗口解决问题:串联所有单词的子串(困难)、最小覆盖子串(困难)
【LeetCode刷题】滑动窗口解决问题:串联所有单词的子串(困难)、最小覆盖子串(困难)

热门文章

最新文章