上一页 1 2 3 4 5 6 7 ··· 15 下一页
摘要: 就是 bfs 的实现 每次 queue 中存在的就是这层的元素,所以要预先记录 size 然后遍历到这个元素后把它下一层的元素加进去 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode 阅读全文
posted @ 2026-05-06 19:10 rdcamelot 阅读(17) 评论(0) 推荐(0)
摘要: 就是直接搜索左右子树最大的长度让后向上传递即可 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : va 阅读全文
posted @ 2026-05-06 18:58 rdcamelot 阅读(10) 评论(0) 推荐(0)
摘要: 首先思路实际上是比较简单的 可以注意到前序遍历的第一个节点一定是根节点,再去中序遍历中找到这个节点,进而分成两部分,左边的是对应于左子树,右边的对应于右子树,然后递归完成,前序遍历的左子树和右子树对应的部分可以通过中序遍历区间的大小来得到 关键是后面的实现 就是每次不要真的切割 vector,否则每 阅读全文
posted @ 2026-05-05 23:32 rdcamelot 阅读(12) 评论(0) 推荐(0)
摘要: 假设我们有了这个目标树的框架 那么这个树的左子树和右子树是独立地由要合并的树的左子树和右子树去完成 因此整体的方案是递归 不断去处理子树 如果当前一个是空,一个有非空,那么直接把非空的接过来就可以 否则的话要么就是空节点不继续向下做,要么就是把 val 合并,然后向下操作 /** * Definit 阅读全文
posted @ 2026-05-05 22:19 rdcamelot 阅读(10) 评论(0) 推荐(0)
摘要: 显然,我们要去关注出现次数最大的那个 因为出现次数最大中间的空隙需要用其他任务去填充 假设出现次数最多的是 A,出现了 3 次,n = 2 因为两个 A 之间至少隔 2 个时间,所以无论怎么排,至少要有: A _ _ A _ _ A 这里的空位就是必须被其他任务填的地方。 如果最高频任务不止一个,比 阅读全文
posted @ 2026-05-05 00:28 rdcamelot 阅读(21) 评论(0) 推荐(0)
摘要: 首先,因为是树,所以肯定是自顶向下的 接着,因为本质还是做前序遍历,所以肯定还是要 dfs 核心就是每次左子树的尾节点要接到右子树的根节点,并且把该节点的左子树置空,右节点接到原来的左子树的根节点上 然后传回这条链的末尾节点 所以逻辑上做些处理 /** * Definition for a bina 阅读全文
posted @ 2026-04-29 21:51 rdcamelot 阅读(14) 评论(0) 推荐(0)
摘要: 回溯 当前在找 word 的下标和当前的位置 如果不同直接退出 如果相同那么就从相邻的继续 已经被探索过的直接跳过 该位置相邻的都查看过后回溯状态 class Solution { public: int dx[4] = {1, 0, -1, 0}; int dy[4] = {0, 1, 0, -1 阅读全文
posted @ 2026-04-29 01:02 rdcamelot 阅读(15) 评论(0) 推荐(0)
摘要: 本身就是直接模拟 主要是注意下链表的写法,比如设置一个哑节点以及如何避免末尾有多余节点之类 class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* dummy = new Lis 阅读全文
posted @ 2026-04-28 17:45 rdcamelot 阅读(12) 评论(0) 推荐(0)
摘要: 无重复字符也就是一段区间中没有重复的字符(感觉在说废话) 但是从这个角度出发就是这个字符和它前一次出现的位置构成了可能可行的区间 因为它不可能到前一次出现的位置 于是我们预处理出这个东西 然后遍历,每次维护最前能到多少,因为比如 1221,对 下标 4 来说前一个是下标 1 ,对下标 3 来说前一个 阅读全文
posted @ 2026-04-28 17:28 rdcamelot 阅读(16) 评论(0) 推荐(0)
摘要: 首先,复杂度要求是 O(log (m+n)) 想到使用二分或者分治之类的解决办法 再从题目角度出发,找中位数就是去找两个有序数组中的第 k 小元素 只有一个数组的时候是简单的,问题就是在于现在给我们两个有序数组,且不能先行合并再去做操作 因此不妨从两个数组各自的中位数出发,看看能不能有什么启发 有数 阅读全文
posted @ 2026-04-28 01:22 rdcamelot 阅读(16) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 15 下一页