1
0

More than 3 years have passed since last update.

779. K-th Symbol in Grammar

Posted at

LeetCodeの"K-th Symbol in Grammar"
グラフで解けて気持ちよかった。

親子の関係を使って、分割統治法で解ける。計算量もメモリもO(n)。

class Solution(object):
    def kthGrammar(self, n, k):
        """
        :type n: int
        :type k: int
        :rtype: int
        """
        if n == 1 and k == 1:
            return 0

        parent = self.kthGrammar(n-1, (k+1)//2)

        if parent == 0:
            if k % 2 == 0:
                return 1
            else:
                return 0
        else:
            if k % 2 == 0:
                return 0
            else:
                return 1

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0