leetcode 779. K-th Symbol in Grammar ---回溯
阿新 • • 發佈:2018-02-11
cpp 學習 blog sym symbol ram ans gpo 明顯
寒假我完全廢了,每天玩玩玩,吃吃吃,無力自拔
我要學習,我愛學習,學習,學習,學習。。。。
題解:
非常簡單明顯的回溯遞歸題目,當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 ---回溯