当前位置:网站首页>Leicester Weekly 304 6135. The longest ring in the picture Inward base ring tree
Leicester Weekly 304 6135. The longest ring in the picture Inward base ring tree
2022-08-01 08:14:00 【Yu Niangniang】
6135. Longest loop in the figure
Give you a directed graph of
nnodes, nodes numbered0ton - 1, where each node has at most one outgoing edge.The graph is represented by an array
edgesof sizenwith subscripts starting at 0, nodesitoThere is a directed edge between the nodesedges[i].If nodeihas no outgoing edges, thenedges[i] == -1.Please return the longest ring in the figure. If there is no ring, please return
-1.A ring is a path that starts and ends at the same node.
Example 1:
Input:edges = [3,3,4,2,3]Output to:3Explanation: The longest cycle in the graph is: 2 -> 4 -> 3 -> 2 .The length of this ring is 3 , so 3 is returned.Example 2:
Input:edges = [2,-1,3,1]Output:-1Explanation: There are no cycles in the graph.Tip:
n == edges.length2 <= n <= 1e5-1 <= edges[i] < nedges[i] != iSource: LeetCode
Link: https://leetcode.cn/problems/longest-cycle-in-a-graph
The copyright belongs to LeetCode.For commercial reprints, please contact the official authorization, and for non-commercial reprints, please indicate the source.
Results of the questions
Failed in the weekly competition, and I wrote T T after reviewing the game at night.Originally wanted to ask the big guy, and then tried it out
Method: Simulate

A single-pointer graph can eventually form one or more shapes similar to the above, with multiple outer lines connected to the inner ring

When we visit a duplicate node from a pointer, we may get the result corresponding to the red line above. Each point corresponding to the red line should be judged and marked, and then when we visit the node that has been visited at the red position, end directly
1. Access to a duplicate node: end of recording the difference between the current timestamp and the old timestamp, and record the visited point at the same time
2. Visiting an illegal node (a node visited by the old node): end directly, record the visited point
class Solution {public int longestCycle(int[] edges) {int n = edges.length;boolean[] visited = new boolean[n];int ans = -1;for(int i = 0; i < n; i++){if(visited[i]) continue;Map used = new HashMap<>();int pos = i;int size = 0;while (edges[pos]!=-1&&!used.containsKey(edges[pos])&&!visited[edges[pos]]){++size;pos = edges[pos];used.put(pos,size);}if(edges[pos]!=-1&&!visited[edges[pos]]){ans = Math.max(ans,size-used.get(edges[pos])+1);}for(Integer key:used.keySet()){visited[key]=true;}}return ans;}} 边栏推荐
- Mysql数据库的部署以及初始化步骤
- How to use Photoshop to composite star trail photos, post-processing method of night sky star trail photos
- 案例实践 --- Resnet经典卷积神经网络(Mindspore)
- C语言学习概览(三)
- 巧妙利用unbuffer实时写入
- 13 - JUC CountDownLatch concurrent programming
- Fist game copyright-free music download, League of Legends copyright-free music, can be used for video creation, live broadcast
- 搜索框字符自动补全
- Chapter 9 of Huawei Deep Learning Course - Convolutional Neural Network and Case Practice
- USB Protocol (2) Terminology
猜你喜欢
随机推荐
pytest接口自动化测试框架 | 跳过测试类
升级为重量级锁,锁重入会导致锁释放?
Redis 3.2.3 crashed by signal: 11 服务宕机问题排查
Golang: go open web service
Leetcode - 6135: the longest part of the figure
Delphi MDI appliction 文档最大化显示、去掉最大化最小化等按钮
静态Pod、Pod创建流程、容器资源限制
LabVIEW RT中的用户界面更新速度
好的plm软件有哪些?plm软件排行榜
HoloView--Customization
Golang:go开启web服务
mysql查看cpu使用情况
The socket option
请问用flinksql写入数据到clickhouse需要引入什么依赖吗?
app 自动化 打开app (二)
Golang: go to connect and use mysql
Mysql数据库的部署以及初始化步骤
various network protocols
【杭电多校第四场 B题】最短路图+缩点dp
配置我的kitty











