leetcode 779. K-th Symbol in Grammar ---回溯

Posted wuxiangli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 779. K-th Symbol in Grammar ---回溯相关的知识,希望对你有一定的参考价值。

寒假我完全废了,每天玩玩玩,吃吃吃,无力自拔

我要学习,我爱学习,学习,学习,学习。。。。

 

题解:

非常简单明显的回溯递归题目,当n=1的时候,很明显返回0,当n>1的时候,根据n-1步和在n步的值,判断返回0还是1,

如果在n-1步是0,在n步的位置是在偶数位置,就返回0,否则返回1

如果在n-1步是1,在n步的位置是在偶数位置,就返回1,否则返回0

 

int kthGrammar(int N, int K) {
    if(N==1) return 0;
    int ans=kthGrammar(N-1,(K+1)/2);
    if(ans==0)
    {
        if(K%2==1) return 0;
        else return 1;
    }
    else
    {
        if(K%2==1) return 1;
        else return 0;
    }
}

  

class Solution(object):
    def kthGrammar(self, N, K):
        """
        :type N: int
        :type K: int
        :rtype: int
        """
        if N==1:
            return 0;
        ans=self.kthGrammar(N-1,(K+1)/2);
        if ans==0:
            if K%2==1:
                return 0;
            else:
                return 1;
        else:
            if K%2==1:
                return 1;
            else:
                return 0;

  

以上是关于leetcode 779. K-th Symbol in Grammar ---回溯的主要内容,如果未能解决你的问题,请参考以下文章

779. K-th Symbol in Grammar

779. K-th Symbol in Grammar

[LeetCode] K-th Symbol in Grammar 语法中的第K个符号

K-th Symbol in Grammar

LeetCode 0779. 第K个语法符号:递归,追根溯源

LeetCode 779 第K个语法符号[递归 找规律] HERODING的LeetCode之路