From e8f374e73648394c69cf14e9d2f6e1bec3f9dbca Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Tue, 26 Nov 2024 09:03:18 +0800 Subject: [PATCH] Add solution and test-cases for problem 2924 --- .../2901-3000/2924.Find-Champion-II/1.png | Bin 0 -> 10062 bytes .../2901-3000/2924.Find-Champion-II/2.png | Bin 0 -> 10974 bytes .../2901-3000/2924.Find-Champion-II/README.md | 40 ++++++++++++------ .../2924.Find-Champion-II/Solution.go | 19 ++++++++- .../2924.Find-Champion-II/Solution_test.go | 20 ++++----- 5 files changed, 53 insertions(+), 26 deletions(-) create mode 100644 leetcode/2901-3000/2924.Find-Champion-II/1.png create mode 100644 leetcode/2901-3000/2924.Find-Champion-II/2.png diff --git a/leetcode/2901-3000/2924.Find-Champion-II/1.png b/leetcode/2901-3000/2924.Find-Champion-II/1.png new file mode 100644 index 0000000000000000000000000000000000000000..f474a6491ce141ac31d8f33ceeb29f616c5d59db GIT binary patch literal 10062 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 literal 0 HcmV?d00001 diff --git a/leetcode/2901-3000/2924.Find-Champion-II/2.png b/leetcode/2901-3000/2924.Find-Champion-II/2.png new file mode 100644 index 0000000000000000000000000000000000000000..9efdcd57368153f6149bebf54e84d79f33402cbe GIT binary patch literal 10974 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 XO#Ine`K}cdtRkr@X(?9ATf+Yb3RWcP literal 0 HcmV?d00001 diff --git a/leetcode/2901-3000/2924.Find-Champion-II/README.md b/leetcode/2901-3000/2924.Find-Champion-II/README.md index e70b0d4b0..ac7cd1951 100755 --- a/leetcode/2901-3000/2924.Find-Champion-II/README.md +++ b/leetcode/2901-3000/2924.Find-Champion-II/README.md @@ -1,28 +1,40 @@ # [2924.Find Champion II][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +There are `n` teams numbered from `0` to `n - 1` in a tournament; each team is also a node in a **DAG**. + +You are given the integer `n` and a **0-indexed** 2D integer array `edges` of length `m` representing the **DAG**, where `edges[i] = [ui, vi]` indicates that there is a directed edge from team `ui` to team `vi` in the graph. + +A directed edge from `a` to `b` in the graph means that team `a` is **stronger** than team `b` and team `b` is **weaker** than team `a`. + +Team `a` will be the **champion** of the tournament if there is no team `b` that is **stronger** than team `a`. + +Return the team that will be the **champion** of the tournament if there is a **unique** champion, otherwise, return `-1`. -**Example 1:** +**Notes** + +- A **cycle** is a series of nodes `a1, a2, ..., an, an+1` such that node `a1` is the same node as node `an+1`, the nodes `a1, a2, ..., an` are distinct, and there is a directed edge from the node `ai` to node `ai+1` for every `i` in the range `[1, n]`. +- A **DAG** is a directed graph that does not have any **cycle**. + +**Example 1:** + +![1](./1.png) ``` -Input: a = "11", b = "1" -Output: "100" +Input: n = 3, edges = [[0,1],[1,2]] +Output: 0 +Explanation: Team 1 is weaker than team 0. Team 2 is weaker than team 1. So the champion is team 0. ``` -## 题意 -> ... +**Example 2:** -## 题解 +![2](./2.png) -### 思路1 -> ... -Find Champion II -```go ``` - +Input: n = 4, edges = [[0,2],[1,3],[1,2]] +Output: -1 +Explanation: Team 2 is weaker than team 0 and team 1. Team 3 is weaker than team 1. But team 1 and team 0 are not weaker than any other teams. So the answer is -1. +``` ## 结语 diff --git a/leetcode/2901-3000/2924.Find-Champion-II/Solution.go b/leetcode/2901-3000/2924.Find-Champion-II/Solution.go index d115ccf5e..77ba2e1f7 100644 --- a/leetcode/2901-3000/2924.Find-Champion-II/Solution.go +++ b/leetcode/2901-3000/2924.Find-Champion-II/Solution.go @@ -1,5 +1,20 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(n int, edges [][]int) int { + in := make(map[int]int) + for _, e := range edges { + in[e[1]]++ + } + ans := -1 + cur := 0 + for i := range n { + if in[i] == 0 { + cur++ + ans = i + if cur > 1 { + return -1 + } + } + } + return ans } diff --git a/leetcode/2901-3000/2924.Find-Champion-II/Solution_test.go b/leetcode/2901-3000/2924.Find-Champion-II/Solution_test.go index 14ff50eb4..88c2e064a 100644 --- a/leetcode/2901-3000/2924.Find-Champion-II/Solution_test.go +++ b/leetcode/2901-3000/2924.Find-Champion-II/Solution_test.go @@ -10,30 +10,30 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + n int + edges [][]int + expect int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", 3, [][]int{{0, 1}, {1, 2}}, 0}, + {"TestCase2", 4, [][]int{{0, 2}, {1, 3}, {1, 2}}, -1}, } // 开始测试 for i, c := range cases { t.Run(c.name+" "+strconv.Itoa(i), func(t *testing.T) { - got := Solution(c.inputs) + got := Solution(c.n, c.edges) if !reflect.DeepEqual(got, c.expect) { - t.Fatalf("expected: %v, but got: %v, with inputs: %v", - c.expect, got, c.inputs) + t.Fatalf("expected: %v, but got: %v, with inputs: %v %v", + c.expect, got, c.n, c.edges) } }) } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { }