We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 0aed2d7 commit f1c5079Copy full SHA for f1c5079
solution/0700-0799/0779.K-th Symbol in Grammar/README.md
@@ -56,6 +56,27 @@
56
57
<!-- 这里可写通用的实现逻辑 -->
58
59
+**方法一:递归**
60
+
61
+我们先来看一下前几行的规律:
62
63
+```
64
+n = 1: 0
65
+n = 2: 0 1
66
+n = 3: 0 1 1 0
67
+n = 4: 0 1 1 0 1 0 0 1
68
+n = 5: 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0
69
+...
70
71
72
+可以发现,每一行的前半部分和上一行完全一致,后半部分是上一行的反转。注意,这里的“反转”指的是 $0$ 变 $1$, $1$ 变 $0$。
73
74
+如果 $k$ 在前半部分,那么第 $k$ 个字符就是上一行的第 $k$ 个字符,直接递归 $kthGrammar(n - 1, k)$ 即可。
75
76
+如果 $k$ 在后半部分,那么第 $k$ 个字符就是上一行的第 $k - 2^{n - 2}$ 个字符的反转,即 $kthGrammar(n - 1, k - 2^{n - 2}) \oplus 1 $。
77
78
+时间复杂度 $O(n)$,空间复杂度 $O(n)$。
79
80
<!-- tabs:start -->
81
82
### **Python3**
0 commit comments