Untitled

 avatar
unknown
plain_text
5 months ago
1.1 kB
2
Indexable
class Solution {
    class Pair {
        int node;
        int dis;

        Pair(int node, int dis) {
            this.node = node;
            this.dis = dis;
        }
    }

    public int minScore(int n, int[][] roads) {
        List<List<Pair>> adj = new ArrayList<>();
        for (int i = 0; i <= n; i++) {
            adj.add(new ArrayList<>());
        }
        for (int i = 0; i < roads.length; i++) {
            adj.get(roads[i][0]).add(new Pair(roads[i][1], roads[i][2]));
            adj.get(roads[i][1]).add(new Pair(roads[i][0], roads[i][2]));
        }
        boolean vis[] = new boolean[n + 1];
        Arrays.fill(vis, false);
        return dfs(adj, 1, vis);
        // return ans;
    }

    int dfs(List<List<Pair>> adj, int src, boolean[] vis) {
        int ans = Integer.MAX_VALUE;
        vis[src] = true;
        for (Pair x : adj.get(src)) {
            if (vis[x.node] == true)
                continue;
            ans = Math.min(ans, x.dis);
            ans = Math.min(ans, dfs(adj, x.node, vis));

        }
        return ans;
    }
}
Editor is loading...
Leave a Comment