地址:https://leetcode-cn.com/problems/k-th-symbol-in-grammar/
1 ''' 2 3 在第一行我们写上一个 0。接下来的每一行,将前一行中的0替换为01,1替换为10。 4 5 给定行数 N 和序数 K,返回第 N 行中第 K个字符。(K从1开始) 6 7 8 例子: 9 10 输入: N = 1, K = 1 11 输出: 0 12 13 输入: N = 2, K = 1 14 输出: 0 15 16 输入: N = 2, K = 2 17 输出: 1 18 19 输入: N = 4, K = 5 20 输出: 1 21 22 解释: 23 第一行: 0 24 第二行: 01 25 第三行: 0110 26 第四行: 01101001 27 28 29 ''' 30 31 class Solution: 32 def kthGrammar(self, n: int, k: int) -> int: 33 if n==1: 34 if k == 1: return 0 35 if n==2: 36 if k == 1:return 0 37 else:return 1 38 if k <= (2 **(n-1)) /2:return self.kthGrammar(n-1,k) 39 else: 40 if self.kthGrammar(n-1,k-((2 **(n-1)) /2)) ==1 :return 0 41 else: return 1
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/k-th-symbol-in-grammar