Skip to content

Commit 5ae0b7d

Browse files
committed
feat: add solutions to lc problem: No.1823
No.1823.Find the Winner of the Circular Game
1 parent 7a16a83 commit 5ae0b7d

File tree

8 files changed

+121
-4
lines changed

8 files changed

+121
-4
lines changed

solution/0000-0099/0099.Recover Binary Search Tree/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ public class Solution {
254254

255255
### **JavaScript**
256256

257-
```javascript
257+
```js
258258
/**
259259
* Definition for a binary tree node.
260260
* function TreeNode(val, left, right) {

solution/0000-0099/0099.Recover Binary Search Tree/README_EN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ public class Solution {
245245

246246
### **JavaScript**
247247

248-
```javascript
248+
```js
249249
/**
250250
* Definition for a binary tree node.
251251
* function TreeNode(val, left, right) {

solution/1800-1899/1823.Find the Winner of the Circular Game/README.md

+44-1
Original file line numberDiff line numberDiff line change
@@ -58,22 +58,65 @@
5858

5959
<!-- 这里可写通用的实现逻辑 -->
6060

61+
约瑟夫环。
62+
6163
<!-- tabs:start -->
6264

6365
### **Python3**
6466

6567
<!-- 这里可写当前语言的特殊实现逻辑 -->
6668

6769
```python
68-
70+
class Solution:
71+
def findTheWinner(self, n: int, k: int) -> int:
72+
if n == 1:
73+
return 1
74+
ans = (k + self.findTheWinner(n - 1, k)) % n
75+
return n if ans == 0 else ans
6976
```
7077

7178
### **Java**
7279

7380
<!-- 这里可写当前语言的特殊实现逻辑 -->
7481

7582
```java
83+
class Solution {
84+
public int findTheWinner(int n, int k) {
85+
if (n == 1) {
86+
return 1;
87+
}
88+
int ans = (findTheWinner(n - 1, k) + k) % n;
89+
return ans == 0 ? n : ans;
90+
}
91+
}
92+
```
93+
94+
### **C++**
95+
96+
```cpp
97+
class Solution {
98+
public:
99+
int findTheWinner(int n, int k) {
100+
if (n == 1) return 1;
101+
int ans = (findTheWinner(n - 1, k) + k) % n;
102+
return ans == 0 ? n : ans;
103+
}
104+
};
105+
```
76106
107+
### **Go**
108+
109+
```go
110+
func findTheWinner(n int, k int) int {
111+
if n == 1 {
112+
return 1
113+
}
114+
ans := (findTheWinner(n-1, k) + k) % n
115+
if ans == 0 {
116+
return n
117+
}
118+
return ans
119+
}
77120
```
78121

79122
### **...**

solution/1800-1899/1823.Find the Winner of the Circular Game/README_EN.md

+42-1
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,54 @@
7777
### **Python3**
7878

7979
```python
80-
80+
class Solution:
81+
def findTheWinner(self, n: int, k: int) -> int:
82+
if n == 1:
83+
return 1
84+
ans = (k + self.findTheWinner(n - 1, k)) % n
85+
return n if ans == 0 else ans
8186
```
8287

8388
### **Java**
8489

8590
```java
91+
class Solution {
92+
public int findTheWinner(int n, int k) {
93+
if (n == 1) {
94+
return 1;
95+
}
96+
int ans = (findTheWinner(n - 1, k) + k) % n;
97+
return ans == 0 ? n : ans;
98+
}
99+
}
100+
```
101+
102+
### **C++**
103+
104+
```cpp
105+
class Solution {
106+
public:
107+
int findTheWinner(int n, int k) {
108+
if (n == 1) return 1;
109+
int ans = (findTheWinner(n - 1, k) + k) % n;
110+
return ans == 0 ? n : ans;
111+
}
112+
};
113+
```
86114
115+
### **Go**
116+
117+
```go
118+
func findTheWinner(n int, k int) int {
119+
if n == 1 {
120+
return 1
121+
}
122+
ans := (findTheWinner(n-1, k) + k) % n
123+
if ans == 0 {
124+
return n
125+
}
126+
return ans
127+
}
87128
```
88129

89130
### **...**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
class Solution {
2+
public:
3+
int findTheWinner(int n, int k) {
4+
if (n == 1) return 1;
5+
int ans = (findTheWinner(n - 1, k) + k) % n;
6+
return ans == 0 ? n : ans;
7+
}
8+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
func findTheWinner(n int, k int) int {
2+
if n == 1 {
3+
return 1
4+
}
5+
ans := (findTheWinner(n-1, k) + k) % n
6+
if ans == 0 {
7+
return n
8+
}
9+
return ans
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class Solution {
2+
public int findTheWinner(int n, int k) {
3+
if (n == 1) {
4+
return 1;
5+
}
6+
int ans = (findTheWinner(n - 1, k) + k) % n;
7+
return ans == 0 ? n : ans;
8+
}
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
class Solution:
2+
def findTheWinner(self, n: int, k: int) -> int:
3+
if n == 1:
4+
return 1
5+
ans = (k + self.findTheWinner(n - 1, k)) % n
6+
return n if ans == 0 else ans

0 commit comments

Comments
 (0)