Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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)

AltStyle によって変換されたページ (->オリジナル) /