Class Solution
- java.lang.Object
-
- g1601_1700.s1697_checking_existence_of_edge_length_limited_paths.Solution
-
public class Solution extends Object
1697 - Checking Existence of Edge Length Limited Paths.Hard
An undirected graph of
nnodes is defined byedgeList, whereedgeList[i] = [ui, vi, disi]denotes an edge between nodesuiandviwith distancedisi. Note that there may be multiple edges between two nodes.Given an array
queries, wherequeries[j] = [pj, qj, limitj], your task is to determine for eachqueries[j]whether there is a path betweenpjandqjsuch that each edge on the path has a distance strictly less thanlimitj.Return a boolean array
answer, whereanswer.length == queries.lengthand thejthvalue ofansweristrueif there is a path forqueries[j]istrue, andfalseotherwise.Example 1:

Input: n = 3, edgeList = [[0,1,2],[1,2,4],[2,0,8],[1,0,16]], queries = [[0,1,2],[0,2,5]]
Output: [false,true]
Explanation: The above figure shows the given graph. Note that there are two overlapping edges between 0 and 1 with distances 2 and 16.
For the first query, between 0 and 1 there is no path where each distance is less than 2, thus we return false for this query.
For the second query, there is a path (0 -> 1 -> 2) of two edges with distances less than 5, thus we return true for this query.
Example 2:

Input: n = 5, edgeList = [[0,1,10],[1,2,5],[2,3,9],[3,4,13]], queries = [[0,4,14],[1,4,13]]
Output: [true,false] Exaplanation: The above figure shows the given graph.
Constraints:
2 <= n <= 1051 <= edgeList.length, queries.length <= 105edgeList[i].length == 3queries[j].length == 30 <= ui, vi, pj, qj <= n - 1ui != vipj != qj1 <= disi, limitj <= 109- There may be multiple edges between two nodes.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean[]distanceLimitedPathsExist(int n, int[][] edgeList, int[][] queries)
-