算法笔记
能吧够
这个作者很懒,什么都没留下…
展开
-
哈希 + 贪心(765. 情侣牵手)
推导过程:咱们遍历整个数组,俩个数字为一组,我只看一组里面的第一个数,他右边是不是自己的情侣,是的话直接下一组,不是的话,就开始琢磨,直接把右边的人和自己的情侣交换位置就好了,这个倒很简单。你可以通过异或得到一组中第一个数的情侣,直接赋值到右边就好了,但是你右边情侣原来的位置下标是多少啊?3对情侣 6个人 交换2 1,2,0,5,4,3。注意,我不需要排序,只需要俩个为一组相邻即可!故而得出规律:n对情侣 最少只需要交换n/2次。2对情侣 4个人 交换1 0,2,1,3。1对情侣 2个人 交换0。原创 2023-11-12 00:06:56 · 63 阅读 · 0 评论 -
【无标题】
第一个难点就是能够想明白:由于是第i秒每个机器人都有自己的方向,d一样,那么最终走的距离都是一样的,(i,j)与(j,i)在求距离时,都是无区别的,我要求的是每个机器人与其他所有(n-1)个机器人距离之和,再之和。我要关注的是求距离,这时候忽略碰撞,对于最终求距离无影响!所以就直接求解最终每个机器人最终的位置,排个序(由于涉及到求和公式推导,其中要减去前n-1的和,所以要从小到大,消除掉成为负数)。接着就是直接求和了,其中的俩个求和公式不可以颠倒哦,你想想就知道为啥了 前n-1的和。原创 2023-10-10 20:20:35 · 75 阅读 · 0 评论 -
哈希表 + TreeMap维护有序列表(2034. 股票价格波动)
【代码】哈希表 + TreeMap维护有序列表(2034. 股票价格波动)原创 2023-10-09 00:14:19 · 44 阅读 · 0 评论 -
状态机-状态规划(309. 买卖股票的最佳时机含冷冻期)
【代码】状态机-状态规划(309. 买卖股票的最佳时机含冷冻期)原创 2023-10-05 15:39:43 · 114 阅读 · 0 评论 -
动态规划-状态机(188. 买卖股票的最佳时机 IV)
f[i,j,0]考虑前i只股票,进行了j笔交易,目前未持有股票 所能获得最大利润。f[i,j,1]考虑前i只股票,进行了j笔交易,目前持有股票 所能获得最大利润。还有一位大佬的看不懂的极妙解法--滚动的dp?原创 2023-10-04 23:03:46 · 813 阅读 · 0 评论 -
贪心 + 前后缀分解 + 动态规划(123. 买卖股票的最佳时机 III)
【代码】贪心 + 前后缀分解 + 动态规划(123. 买卖股票的最佳时机 III)原创 2023-10-03 11:01:12 · 130 阅读 · 0 评论 -
端点特殊情况判断--便池(605. 种花问题)
【代码】端点特殊情况判断--便池(605. 种花问题)原创 2023-09-29 17:10:56 · 34 阅读 · 0 评论 -
二分(2251. 花期内花的数目)
【代码】二分(2251. 花期内花的数目)原创 2023-09-28 11:27:00 · 50 阅读 · 0 评论 -
拓扑排序 + 模拟(2603. 收集树中金币)
无法想象没有题解我该怎么活啊!原创 2023-09-21 23:50:40 · 59 阅读 · 0 评论 -
方向搜图 + 模拟(1222. 可以攻击国王的皇后)
【代码】方向搜图 + 模拟(1222. 可以攻击国王的皇后)原创 2023-09-14 00:29:07 · 42 阅读 · 0 评论 -
按照方向扩展搜图(2596. 检查骑士巡视方案)
【代码】按照方向扩展搜图(2596. 检查骑士巡视方案)原创 2023-09-13 09:59:13 · 61 阅读 · 0 评论 -
DFS + 拓扑排序(1462. 课程表 IV)
【代码】DFS + 拓扑排序(1462. 课程表 IV)原创 2023-09-12 09:29:19 · 74 阅读 · 0 评论 -
卡特兰数--详细解析(附加视频链接)
设出栈为-1 入栈为+1 易得合法序列的总和为0,但是序列总和为0不一定为合法序列。找非法序列 :利用合法序列第一个和大于零的前缀与 非法序列第一个和小于零的前缀一一对应(取反获得)比如-1,+1 总和为0但非法。基本公式:合法序列=和为0的序列总数-非法序列。1、作用:给一个栈,求出合法的出入栈序列。具体详见知名up主视频讲解。从而得到非法序列公式。原创 2022-09-21 17:39:23 · 165 阅读 · 0 评论 -
字符型数字转化为整型方法::
①当扫描第一个字符‘1’时候,因为为第一位。②当扫描第二个字符‘2’时候,将字符串正确转化为整数步骤。③继续扫描字符‘3’时候,原创 2022-09-21 21:49:41 · 1687 阅读 · 1 评论 -
合并区间--排序+合并(56. 合并区间)
【代码】合并区间--排序+合并(56. 合并区间)原创 2023-08-27 09:16:14 · 58 阅读 · 0 评论 -
双指针求区间最大值(849. 到最近的人的最大距离)
【代码】双指针求区间最大值(849. 到最近的人的最大距离)原创 2023-08-22 21:30:50 · 72 阅读 · 0 评论 -
路径总和(437. 路径总和 III)
空间复杂度:O(H) H表示树高。最坏时H == n也就是二叉树呈链表状即为O(n);最好是完全二叉树 树高与节点数呈正相关也就是O(logn)的路径,这条路径上所有节点值相加等于目标和。时间复杂度:O(n) 遍历每个节点一次。原创 2023-08-18 21:46:47 · 212 阅读 · 0 评论 -
区间dp(1388. 3n 块披萨)
【代码】区间dp(1388. 3n 块披萨)原创 2023-08-18 14:56:10 · 60 阅读 · 0 评论 -
线性处理字符串替换(833. 字符串中的查找与替换)
遍历每个操作,最坏的情况是对s每个字符都进行替换 时间复杂度就是O(n)原创 2023-08-15 09:15:25 · 52 阅读 · 0 评论 -
优先队列合并多个链表(23. 合并 K 个升序链表)
此题是链表,操作稍微麻烦的是自己定一个类,加入队列的是类,类里面负责存储链表节点的值和指针。直接将每一行的同一列加入到优先队列,依次取出队头加入新的数组,不断往下一列重复操作。原创 2023-08-12 10:47:20 · 153 阅读 · 0 评论 -
全局最优解,贪心不可取,动态规划上(1289. 下降路径最小和 II)
【代码】全局最优解,贪心不可取,动态规划上(1289. 下降路径最小和 II)原创 2023-08-10 11:11:03 · 60 阅读 · 0 评论 -
不同路径1、2、3合集(980. 不同路径 III)
矩形格,左上角 到 右下角。原创 2023-08-08 18:33:07 · 133 阅读 · 0 评论 -
链表三种基本操作总结(143. 重排链表)
当链表长度偶数,fast为空时slow指向中间节点;fast指向最后一个节点时,slow指向中间节点。有一个条件满足了就会输出中间节点。先用快慢双指针的方法找到链表中间节点, 然后反转链表后半部分, 再交替地合并链表的两个部分。使用双指针,分别为 当前指针 与 前向指针,当前指针往后移动,前向指针也往后移。反转链表的核心就是:提前保存下一个节点;反转链表,不是首尾反转!而是直接改变链表指向就好了。法二:中间拆分链表,反转后个链表,再合并俩半链表。时间复杂度:遍历整个链表O(n)。法一、线性表 + 双指针。原创 2023-07-31 11:18:11 · 286 阅读 · 0 评论 -
拓扑排序 + 动态规划(每日一题:2050. 并行课程 III)
【代码】拓扑排序 + 动态规划(每日一题:2050. 并行课程 III)原创 2023-07-28 00:54:42 · 150 阅读 · 0 评论 -
二维动态规划之(221. 最大正方形)
只不过我在选择右下方点作为基准点,然后往左上方扩展,想不出转移方程。本题也是考察动态规划基本思想:每一个点的值由相邻点推导而来。对于状态转移方程,理解就好,证明找帖。原创 2023-07-25 22:57:34 · 134 阅读 · 0 评论 -
单调栈 + 动态规划(42. 接雨水)
【代码】单调栈 + 动态规划(42. 接雨水)原创 2023-07-23 11:08:48 · 170 阅读 · 0 评论 -
二维动态规划--动态规划基本思想题!!(120. 三角形最小路径和)
【代码】二维动态规划--动态规划基本思想题!!(120. 三角形最小路径和)原创 2023-07-22 11:52:55 · 103 阅读 · 0 评论 -
一维动态规划--完全背包(322. 零钱兑换)
【代码】动态规划--完全背包(322. 零钱兑换)原创 2023-07-22 10:25:43 · 186 阅读 · 0 评论 -
一维动态规划--完全背包问题(139. 单词拆分)
【代码】一维动态规划--完全背包问题(139. 单词拆分)原创 2023-07-21 22:16:41 · 56 阅读 · 0 评论 -
优先队列-寻找区间最大值(1499. 满足不等式的最大值)
【代码】优先队列-寻找区间最大值(1499. 满足不等式的最大值)原创 2023-07-21 20:23:37 · 69 阅读 · 0 评论 -
918. 环形子数组的最大和 --分类讨论
暴力法:滑动窗口+双指针 --超时。外国友人牛逼O(n)原创 2023-07-20 11:47:13 · 47 阅读 · 0 评论 -
方向数组 + 哈希判断 + 坐标行走模拟(874. 模拟行走机器人)
【代码】方向数组 + 哈希判断 + 坐标行走模拟。原创 2023-07-19 10:49:01 · 123 阅读 · 0 评论 -
排序实现窗口优化+优先队列自筛选(1851. 包含每个查询的最小区间)
适合俺中国小白体质!个人深度思考的题解,原创 2023-07-18 21:54:15 · 84 阅读 · 0 评论 -
动态规划--树形DP之换根DP(834. 树中距离之和)
【代码】动态规划--树形DP之换根DP。原创 2023-07-16 23:48:26 · 197 阅读 · 0 评论