Skip to content

Commit dfafcab

Browse files
committed
feat: add solutions to lc problem: No.0779
No.0779.K-th Symbol in Grammar
1 parent fac1663 commit dfafcab

File tree

6 files changed

+123
-2
lines changed

6 files changed

+123
-2
lines changed

solution/0700-0799/0779.K-th Symbol in Grammar/README.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,58 @@
6363
<!-- 这里可写当前语言的特殊实现逻辑 -->
6464

6565
```python
66-
66+
class Solution:
67+
def kthGrammar(self, n: int, k: int) -> int:
68+
if n == 1:
69+
return 0
70+
if k <= (1 << (n - 2)):
71+
return self.kthGrammar(n - 1, k)
72+
return self.kthGrammar(n - 1, k - (1 << (n - 2))) ^ 1
6773
```
6874

6975
### **Java**
7076

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

7379
```java
80+
class Solution {
81+
public int kthGrammar(int n, int k) {
82+
if (n == 1) {
83+
return 0;
84+
}
85+
if (k <= (1 << (n - 2))) {
86+
return kthGrammar(n - 1, k);
87+
}
88+
return kthGrammar(n - 1, k - (1 << (n - 2))) ^ 1;
89+
}
90+
}
91+
```
92+
93+
### **C++**
94+
95+
```cpp
96+
class Solution {
97+
public:
98+
int kthGrammar(int n, int k) {
99+
if (n == 1) return 0;
100+
if (k <= (1 << (n - 2))) return kthGrammar(n - 1, k);
101+
return kthGrammar(n - 1, k - (1 << (n - 2))) ^ 1;
102+
}
103+
};
104+
```
74105
106+
### **Go**
107+
108+
```go
109+
func kthGrammar(n int, k int) int {
110+
if n == 1 {
111+
return 0
112+
}
113+
if k <= (1 << (n - 2)) {
114+
return kthGrammar(n-1, k)
115+
}
116+
return kthGrammar(n-1, k-(1<<(n-2))) ^ 1
117+
}
75118
```
76119

77120
### **...**

solution/0700-0799/0779.K-th Symbol in Grammar/README_EN.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,56 @@ row 2: 0<u>1</u>
5656
### **Python3**
5757

5858
```python
59-
59+
class Solution:
60+
def kthGrammar(self, n: int, k: int) -> int:
61+
if n == 1:
62+
return 0
63+
if k <= (1 << (n - 2)):
64+
return self.kthGrammar(n - 1, k)
65+
return self.kthGrammar(n - 1, k - (1 << (n - 2))) ^ 1
6066
```
6167

6268
### **Java**
6369

6470
```java
71+
class Solution {
72+
public int kthGrammar(int n, int k) {
73+
if (n == 1) {
74+
return 0;
75+
}
76+
if (k <= (1 << (n - 2))) {
77+
return kthGrammar(n - 1, k);
78+
}
79+
return kthGrammar(n - 1, k - (1 << (n - 2))) ^ 1;
80+
}
81+
}
82+
```
83+
84+
### **C++**
85+
86+
```cpp
87+
class Solution {
88+
public:
89+
int kthGrammar(int n, int k) {
90+
if (n == 1) return 0;
91+
if (k <= (1 << (n - 2))) return kthGrammar(n - 1, k);
92+
return kthGrammar(n - 1, k - (1 << (n - 2))) ^ 1;
93+
}
94+
};
95+
```
6596
97+
### **Go**
98+
99+
```go
100+
func kthGrammar(n int, k int) int {
101+
if n == 1 {
102+
return 0
103+
}
104+
if k <= (1 << (n - 2)) {
105+
return kthGrammar(n-1, k)
106+
}
107+
return kthGrammar(n-1, k-(1<<(n-2))) ^ 1
108+
}
66109
```
67110

68111
### **...**
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
class Solution {
2+
public:
3+
int kthGrammar(int n, int k) {
4+
if (n == 1) return 0;
5+
if (k <= (1 << (n - 2))) return kthGrammar(n - 1, k);
6+
return kthGrammar(n - 1, k - (1 << (n - 2))) ^ 1;
7+
}
8+
};
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
func kthGrammar(n int, k int) int {
2+
if n == 1 {
3+
return 0
4+
}
5+
if k <= (1 << (n - 2)) {
6+
return kthGrammar(n-1, k)
7+
}
8+
return kthGrammar(n-1, k-(1<<(n-2))) ^ 1
9+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution {
2+
public int kthGrammar(int n, int k) {
3+
if (n == 1) {
4+
return 0;
5+
}
6+
if (k <= (1 << (n - 2))) {
7+
return kthGrammar(n - 1, k);
8+
}
9+
return kthGrammar(n - 1, k - (1 << (n - 2))) ^ 1;
10+
}
11+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class Solution:
2+
def kthGrammar(self, n: int, k: int) -> int:
3+
if n == 1:
4+
return 0
5+
if k <= (1 << (n - 2)):
6+
return self.kthGrammar(n - 1, k)
7+
return self.kthGrammar(n - 1, k - (1 << (n - 2))) ^ 1

0 commit comments

Comments
 (0)