
算法
文章平均质量分 66
劳尔的狙击镜
这个作者很懒,什么都没留下…
展开
-
【leetcode】105. 从前序与中序遍历序列构造二叉树(24年北理工计算机技术复试上机最后一道题目)
我们在前序序列中找到一个根之后,在中序序列中以根为分界点分为左子树和右子树,然后递归构建左子树和右子树。对于我们当前在前序序列中找到的点n,它便是当前子树的根节点。还有一个,在前序序列中找到了根节点,如何快速求出他在中序序列中的下标,这里用到了map映射,原理很简单,直接看代码应该就能理解,不再详细解释。如何在前序序列中确定左子树、右子树的范围呢?首先,前序序列中左子树的开始坐标为。,那么左子树中节点的个数为:ri-is。前序是根左右,中序是左根右。至此,我们解决了最关键的问题。根据左子树的大小确定的。原创 2024-09-20 11:05:16 · 458 阅读 · 0 评论 -
【PTA】逆序数据建立链表-关于循环创建链表的地址问题
循环创建链表地址是否相同的问题原创 2023-05-16 09:03:24 · 184 阅读 · 0 评论 -
【算法模板总结】
目前的基本宗旨是:牢固基础只是,任何操作都要记录,因为不记录过一段时间脑子就会忘记。 全排列模板整理 基本模板 下面是47. 全排列 II的解题代码,我们将在此基础上拓展说明一般这类回溯问题的模板。 class Solution { public: vector<int> cur; // 当前可行解 vector<vector<int>> ret; // 包含所有可行解的最终答案 vector<vector<int>原创 2023-05-08 16:38:41 · 264 阅读 · 1 评论 -
Algorithm
子集问题1没有状态数组,子集2、全排列1、全排列2都有状态数组子集问题for循环都是从i=u开始的。而全排列for从0开始,子集问题中for循环中的递归调用是backtrace(i + 1),表示下一次循环从第i+1个数开始遍历;全排列问题递归调用函数backtrace(u+1) 不是i,表示已经选择了u个数,该选择第u+1个数了全排列二只是在全排列1的基础上加上了去重操作,去重核心一句话:当前数和前一个数相同,并且前一个数st为false。则跳过当前数。原创 2023-04-07 22:31:36 · 197 阅读 · 1 评论 -
【leetcode】5.最长回文子串
【代码】【leetcode】5.最长回文子串。原创 2024-01-09 20:00:03 · 457 阅读 · 1 评论