From 89547454fb5beae2e50f9a0720f5b5e0428cb5cd Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Fri, 31 May 2024 09:02:20 +0800 Subject: [PATCH] Add solution and test-cases for problem 1823 --- .../README.md | 46 ++++++++++++------ .../Solution.go | 8 ++- .../Solution_test.go | 19 ++++---- .../ic234-q2-ex11.png | Bin 0 -> 31597 bytes 4 files changed, 46 insertions(+), 27 deletions(-) create mode 100644 leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/ic234-q2-ex11.png diff --git a/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/README.md b/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/README.md index 250578d05..93bc138b0 100755 --- a/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/README.md +++ b/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/README.md @@ -1,28 +1,44 @@ # [1823.Find the Winner of the Circular Game][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` friends that are playing a game. The friends are sitting in a circle and are numbered from `1` to `n` in **clockwise order**. More formally, moving clockwise from the ith friend brings you to the `(i+1)`th friend for `1 <= i < n`, and moving clockwise from the nth. friend brings you to the 1st friend. -**Example 1:** +The rules of the game are as follows: -``` -Input: a = "11", b = "1" -Output: "100" -``` +1. **Start** at the 1st friend. +2. Count the next `k` friends in the clockwise direction **including** the friend you started at. The counting wraps around the circle and may count some friends more than once. +3. The last friend you counted leaves the circle and loses the game. +4. If there is still more than one friend in the circle, go back to step `2` **starting** from the friend **immediately clockwise** of the friend who just lost and repeat. +5. Else, the last friend in the circle wins the game. + +Given the number of friends, `n`, and an integer `k`, return the winner of the game. -## 题意 -> ... +**Example 1:** -## 题解 +![1](./ic234-q2-ex11.png) -### 思路1 -> ... -Find the Winner of the Circular Game -```go ``` +Input: n = 5, k = 2 +Output: 3 +Explanation: Here are the steps of the game: +1) Start at friend 1. +2) Count 2 friends clockwise, which are friends 1 and 2. +3) Friend 2 leaves the circle. Next start is friend 3. +4) Count 2 friends clockwise, which are friends 3 and 4. +5) Friend 4 leaves the circle. Next start is friend 5. +6) Count 2 friends clockwise, which are friends 5 and 1. +7) Friend 1 leaves the circle. Next start is friend 3. +8) Count 2 friends clockwise, which are friends 3 and 5. +9) Friend 5 leaves the circle. Only friend 3 is left, so they are the winner. +``` + +**Example 2:** +``` +Input: n = 6, k = 5 +Output: 1 +Explanation: The friends leave in this order: 5, 4, 6, 2, 3. The winner is friend 1. +``` ## 结语 diff --git a/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/Solution.go b/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/Solution.go index d115ccf5e..8f5775dfa 100644 --- a/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/Solution.go +++ b/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/Solution.go @@ -1,5 +1,9 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(n int, k int) int { + winner := 0 + for i := 2; i <= n; i++ { + winner = (winner + k) % i + } + return winner + 1 } diff --git a/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/Solution_test.go b/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/Solution_test.go index 14ff50eb4..c4c39690a 100644 --- a/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/Solution_test.go +++ b/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/Solution_test.go @@ -10,30 +10,29 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + n, k int + expect int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", 5, 2, 3}, + {"TestCase2", 6, 5, 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.k) 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.k) } }) } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } diff --git a/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/ic234-q2-ex11.png b/leetcode/1801-1900/1823.Find-the-Winner-of-the-Circular-Game/ic234-q2-ex11.png new file mode 100644 index 0000000000000000000000000000000000000000..420de3142e5a2eee365c30a54a9dd50f04142104 GIT binary patch literal 31597 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пS&BF+r2&t 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