diff --git a/src/problem/p743_network_delay_time.rs b/src/problem/p743_network_delay_time.rs index 9773336..8f50ef2 100644 --- a/src/problem/p743_network_delay_time.rs +++ b/src/problem/p743_network_delay_time.rs @@ -1,44 +1,9 @@ /** * [743] Network Delay Time - * - * You are given a network of n nodes, labeled from 1 to n. You are also given times, a list of travel times as directed edges times[i] = (ui, vi, wi), where ui is the source node, vi is the target node, and wi is the time it takes for a signal to travel from source to target. - * We will send a signal from a given node k. Return the minimum time it takes for all the n nodes to receive the signal. If it is impossible for all the n nodes to receive the signal, return -1. - * - * Example 1: - * - * Input: times = [[2,1,1],[2,3,1],[3,4,1]], n = 4, k = 2 - * Output: 2 - * - * Example 2: - * - * Input: times = [[1,2,1]], n = 2, k = 1 - * Output: 1 - * - * Example 3: - * - * Input: times = [[1,2,1]], n = 2, k = 2 - * Output: -1 - * - * - * Constraints: - * - * 1 <= k <= n <= 100 - * 1 <= times.length <= 6000 - * times[i].length == 3 - * 1 <= ui, vi <= n - * ui != vi - * 0 <= wi <= 100 - * All the pairs (ui, vi) are unique. (i.e., no multiple edges.) - * */ pub struct Solution {} -// problem: https://leetcode.cn/problems/network-delay-time/ -// discuss: https://leetcode.cn/problems/network-delay-time/discuss/?currentPage=1&orderBy=most_votes&query= - // submission codes start here - -use std::cmp::{max, min}; use std::collections::HashSet; impl Solution { @@ -91,7 +56,7 @@ impl Solution { continue; } - distances[i] = min(distances[i], value + matrix[index][i]); + distances[i] = distances[i].min(value + matrix[index][i]); } } @@ -102,10 +67,14 @@ impl Solution { continue; } - result = max(result, distances[i]); + result = result.max(distances[i]); } - return if result == i32::MAX { -1 } else { result }; + if result == i32::MAX { + -1 + } else { + result + } } }