
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
今天有点小累,来两道easy题打卡吧,明天接着动态规划。

每个元素只遍历一次只用了两个变量O(n)O(1)公式拆分是核心:将原得分公式拆分为,把双变量问题转化为单变量的遍历问题。贪心维护最优值:遍历j时,用best维护之前所有i < j中的最大值,这样每一步只需要 O (1) 计算,整体时间复杂度是 O (n)。遍历顺序:因为要求i < j,所以从j=1开始遍历,先计算当前j的得分,再更新best(避免 j 自己和自己配对)。
窗口是 “连续固定长度” 还是 “以某个点为中心辐射”?若题目说 “长度为 k 的子数组”→ 普通固定窗口;若题目说 “半径为 k”“以每个元素为中心”→ 中心辐射型窗口。结果是 “每个窗口对应一个值” 还是 “每个索引对应一个值”?前者→普通固定窗口;后者→中心辐射型窗口。
你的错误逻辑正确逻辑找到 target 时返回 mid-1找到 target 时,继续向右查找(因为需要「大于」target 的最小字符)target <letters [mid] 时,mid 是候选,需保留,right=mid(左闭右开)或不立即排除 mid循环结束直接返回 letters [0]循环结束后,先判断 left 是否越界:越界则返回 letters [0],否则返回 letters
核心进步:你能独立完成链表题,掌握了链表遍历、节点拼接的核心逻辑,这是最关键的!优化方向减少不必要的 dummy 节点,降低代码复杂度和内存开销。避免重复遍历,提升代码时间效率。注意内存泄漏和入参修改的问题,养成良好的编程习惯。dummy 节点关键点:只有当头节点可能被修改 / 删除时才需要用,否则可以直接操作原链表。继续保持这个势头!你已经能独立解决链表问题,接下来可以关注代码的效率和规范性,你
完全有向图是指:对于具有 n 个顶点的有向图,任意两个不同的顶点之间都存在两条方向相反的弧(即从顶点 i 到顶点 j 有一条弧,同时从顶点 j 到顶点 i 也有一条弧),且不存在自环(顶点到自身的弧)。
pta练习题,需要多回顾,多小结,记得常回来看看~
核心解法是深度优先搜索(DFS),遍历所有根到叶的路径;推荐用数值累加)的方式,无需字符串转换,效率更高;递归终止条件:节点为空返回 0,叶节点返回当前累积值,非叶节点返回左右子树结果之和。这个实现满足题目所有约束(节点数≤1000、深度≤10),时间复杂度 O (n)(每个节点遍历一次),空间复杂度 O (h)(h 为树的深度,递归栈空间)。暴力版(必掌握)终止条件:空节点返回 0;1 + 左子

核心技巧:用虚拟头结点解决删除头结点的边界问题,用双指针(快慢指针)实现一趟扫描找到倒数第 N 个结点。关键逻辑:快指针先移n步,快慢指针再同步移动,直到快指针到末尾,此时慢指针的下一个就是要删除的结点。内存管理:C++ 中手动创建的结点要记得delete,避免内存泄漏。你的原代码出错的核心原因是:没有处理头结点被删除的情况(比如示例 2),直接从head开始移动指针,导致删除逻辑不统一。加入虚拟







