首页 > 其他分享 >零壹塔(力扣,递归,找父节点)

零壹塔(力扣,递归,找父节点)

时间:2024-08-20 16:08:36浏览次数:12  
标签:return int father 找父 力扣 solve 零壹 节点

https://leetcode.cn/problems/k-th-symbol-in-grammar/

0
/ \
0 1
/ \ /
0 1 1 0
/ \ / \ / \ / \
0 1 1 0 1 0 0 1

#include<iostream> using namespace std; int solve(int n, int k) { if (n == 1)return 0; //如果不是第一层则寻找父节点n=n-1,k+1/2 else { int father=solve(n - 1, k + 1>>1); //如果k是奇数,则他等于他的父节点,如果k是偶数,则他等于父节点取反 return (k & 1) == 1 ? father : 1 ^ father; } } int main() { int n, k; cin >> n >> k; cout << solve(n, k) << endl; return 0; }
简化一下
#include<iostream> using namespace std; int solve(int n, int k) { return n == 1 ? 0 : solve(n - 1, k + 1 >> 1) ^ (k & 1) ^ 1; } int main() { int n, k; cin >> n >> k; cout << solve(n, k) << endl; return 0; }

标签:return,int,father,找父,力扣,solve,零壹,节点
From: https://www.cnblogs.com/llx1-m2-d3/p/18369595

相关文章

  • 力扣刷题——3096.得到更多分数的最少关卡数目
    根据题意,假如alice选择完成第i关到第j关,那么bob需要完成第j+1关到第n关,其中i<=j<n。如此可以想到对关卡数组进行预处理,构建一个前缀和数组,保存假如从第0关每关都通过的话,到第i关所得到的分数。通过遍历一次前缀和数组,能够得到每个时刻alice得到的分数和bob得到的分数,当alice获得......
  • 力扣面试经典算法150题:删除有序数组中的重复项 II
    删除有序数组中的重复项II今天的题目是力扣面试经典150题中的数组的中等难度题:删除有序数组中的重复项II题目链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii/description/?envType=study-plan-v2&envId=top-interview-150题目描述给定一......
  • 力扣面试经典算法150题:最后一个单词的长度
    最后一个单词的长度今天的题目是力扣面试经典150题中的数组的简单题:最后一个单词的长度题目链接:https://leetcode.cn/problems/length-of-last-word/description/?envType=study-plan-v2&envId=top-interview-150题目描述给定一个仅包含大小写字母和空格’’的字符......
  • 括号生成-力扣
    classSolution{private:vector<string>result;stringstr;public:voidbacktracking(intn,intl,intr){if(l==n&&r==n){result.push_back(str);return;}if(l<n){......
  • 合并K个升序链表-力扣
    /***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(nullptr){}*ListNode(intx,ListNode*next):val(x),next(ne......
  • 力扣面试经典算法150题:找出字符串中第一个匹配项的下标
    找出字符串中第一个匹配项的下标今天的题目是力扣面试经典150题中的数组的简单题:找出字符串中第一个匹配项的下标题目链接:https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/description/?envType=study-plan-v2&envId=top-interview-......
  • 11. 盛最多水的容器【 力扣(LeetCode) 】
    一、题目描述给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。二、测试用例示例1:输入:[1,......
  • 15. 三数之和【 力扣(LeetCode) 】
    一、题目描述给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。二、测试用例示例1:输......
  • 【力扣高频题】021.括号生成
    上篇文章我们学习了判断一个字符串是否是有效的括号顺序:有效的括号。今天我们继续来学习一道有关有效括号的中等难度题目。22.括号生成数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例1:输入:n=3输出:[“((())......
  • 力扣 | 一维简单线性dp | 2140. 解决智力问题、322. 零钱兑换、2466. 统计构造好字符
    文章目录一、2140.解决智力问题二、322.零钱兑换三、2466.统计构造好字符串的方案数四、91.解码方法五、983.最低票价六、790.多米诺和托米诺平铺需要特别注意的题目有2140.解决智力问题和983.最低票价,因为这两个题目可以启发思路,其他的题都比较普通。一、21......