|
3 | 3 | * @param {number[][]} edges
|
4 | 4 | * @return {number}
|
5 | 5 | */
|
6 |
| -const minTrioDegree = function(n, edges) { |
7 |
| - let ans = 10 ** 8 |
8 |
| - const adj = [] |
9 |
| - const deg = {} |
10 |
| - |
11 |
| - function incDeg(u) { |
12 |
| - if(deg[u] == null) deg[u] = 0 |
13 |
| - deg[u]++ |
14 |
| - } |
15 |
| - for(let i = 0; i < n; i++) { |
16 |
| - adj.push(Array(n).fill(false)) |
17 |
| - } |
18 |
| - |
19 |
| - for (let [u, v] of edges) { |
20 |
| - adj[u - 1][v - 1] = true |
21 |
| - adj[v - 1][u - 1] = true |
22 |
| - incDeg(u - 1) |
23 |
| - incDeg(v - 1) |
24 |
| - } |
25 |
| - for(let u1 = 0; u1 < n; u1++) { |
26 |
| - for(let u2 = u1 + 1; u2 < n; u2++) { |
27 |
| - for(let u3 = u2 + 1; u3 < n; u3++) { |
28 |
| - if(adj[u1][u2] && adj[u2][u3] && adj[u3][u1]) { |
29 |
| - let tmp = deg[u1] + deg[u2] + deg[u3] - 6 |
30 |
| - ans = Math.min(ans, tmp) |
31 |
| - } |
32 |
| - } |
33 |
| - } |
| 6 | +const minTrioDegree = function (n, edges) { |
| 7 | + let ans = 10 ** 8 |
| 8 | + const adj = [] |
| 9 | + const deg = {} |
| 10 | + |
| 11 | + function incDeg(u) { |
| 12 | + if (deg[u] == null) deg[u] = 0 |
| 13 | + deg[u]++ |
| 14 | + } |
| 15 | + for (let i = 0; i < n; i++) { |
| 16 | + adj.push(Array(n).fill(false)) |
| 17 | + } |
| 18 | + |
| 19 | + for (let [u, v] of edges) { |
| 20 | + adj[u - 1][v - 1] = true |
| 21 | + adj[v - 1][u - 1] = true |
| 22 | + incDeg(u - 1) |
| 23 | + incDeg(v - 1) |
| 24 | + } |
| 25 | + for (let u1 = 0; u1 < n; u1++) { |
| 26 | + for (let u2 = u1 + 1; u2 < n; u2++) { |
| 27 | + for (let u3 = u2 + 1; u3 < n; u3++) { |
| 28 | + if (adj[u1][u2] && adj[u2][u3] && adj[u3][u1]) { |
| 29 | + let tmp = deg[u1] + deg[u2] + deg[u3] - 6 |
| 30 | + ans = Math.min(ans, tmp) |
34 | 31 | }
|
| 32 | + } |
| 33 | + } |
| 34 | + } |
35 | 35 |
|
36 |
| - if (ans > 10000000) ans = -1 |
37 |
| - return ans |
38 |
| -}; |
| 36 | + if (ans > 10000000) ans = -1 |
| 37 | + return ans |
| 38 | +} |
0 commit comments