随笔分类 -  代码随想录算法训练营

记录python学习过程
摘要:今天是这两个月来最轻松的一天,没有新题要学也没有旧账要填,坚持太难了,幸好有彩蛋可以期待。 卡尔YYDS! “这里是代码随想录我是程序员卡尔,具体的代码可以看代码随想录的PDF版……”莫名其妙就记住了,还有卡哥说话时不经意间的东北味儿,忽左忽右的地图,以及卡哥钟爱的黑白灰T恤,都能让大伙儿在学累的时 阅读全文
posted @ 2024-11-30 16:08 Tristan241001 阅读(21) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://www.programmercarl.com/kamacoder/0097.小明逛公园.html floyd算法,三维矩阵 A*算法 学习记录: 97.小明逛公园(没看懂,抄的) 点击查看代码 # 三维数组Floyd if __name__ == "__main__": m 阅读全文
posted @ 2024-11-29 20:05 Tristan241001 阅读(5) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://www.programmercarl.com/kamacoder/0094.城市间货物运输I-SPFA.html SPFA算法(Bellman_ford队列优化算法) 学习记录 94.城市间的货物运输(两种方法) 点击查看代码 # 法二 import collections 阅读全文
posted @ 2024-11-28 21:47 Tristan241001 阅读(6) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://www.programmercarl.com/kamacoder/0047.参会dijkstra堆.html#思路 dijkstra 堆优化 节点少:用邻接矩阵 边少:用邻接表 Bellman_ford算法 边的权值有负数;对所有边进行松弛n-1次的操作 松弛(A valu 阅读全文
posted @ 2024-11-27 20:40 Tristan241001 阅读(11) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://www.programmercarl.com/kamacoder/0117.软件构建.html#拓扑排序的背景 图论 拓扑排序:收集入度为0的节点,删掉该节点后其他节点的入度可能变化,记得更新,然后继续删除入度为0的点,直到没有。整个过程的顺序就对应了有向图 dijkstr 阅读全文
posted @ 2024-11-26 21:18 Tristan241001 阅读(12) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://www.programmercarl.com/kamacoder/0108.冗余连接.html#思路 图论 并查集 prim算法 kruskal算法 学习记录: 108.冗余连接 点击查看代码 # 并查集解法 class UnionFind: def __init__(se 阅读全文
posted @ 2024-11-25 20:21 Tristan241001 阅读(4) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://www.programmercarl.com/kamacoder/图论并查集理论基础.html#背景 并查集的两个功能: 1、将两个元素添加到一个集合 2、判断两个元素是否在同一个集合(节点具有同一个根,则在一个集合) 套路:并查集初始化;节点寻根;两节点连线;是否在同一集 阅读全文
posted @ 2024-11-22 20:37 Tristan241001 阅读(19) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://www.programmercarl.com/kamacoder/0101.孤岛的总面积.html#思路 邻接矩阵是否被遍历过;每个坐标点上的值为0、1、2等等;四个边的考虑;地图的遍历次数 都是卡码网的题 学习记录: 101.孤岛的总面积 点击查看代码 # 用深搜,遍历邻 阅读全文
posted @ 2024-11-21 20:24 Tristan241001 阅读(8) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://www.programmercarl.com/kamacoder/0099.岛屿的数量深搜.html#思路 深度优先搜索和广度优先搜索 今天用的邻接矩阵 学习记录: 卡码网99.岛屿数量 (深搜or广搜;用一个自己设计的二维矩阵来控制节点的移动方向:上下左右) 点击查看代码 阅读全文
posted @ 2024-11-19 21:36 Tristan241001 阅读(27) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://www.programmercarl.com/0042.接雨水.html 单调栈经典面试题 接雨水 找该元素左边第一个高点和右边第一个高点 图论 邻接矩阵、邻接表 深度优先算法、广度优先算法 学习ACM模式 学习记录: 42.接雨水(递增单调栈;选择左边和右边高点的较小值) 阅读全文
posted @ 2024-11-18 19:58 Tristan241001 阅读(5) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://programmercarl.com/0739.每日温度.html#算法公开课 单调栈: 用数组模拟单调栈,今天的题中,栈中元素都保存的索引值 基本思路:将新元素和栈顶索引对应值比较,如果要保持单调递增,则需要新元素不大于栈顶索引对应值;若满足就加入新元素索引到栈中;若不满 阅读全文
posted @ 2024-11-15 21:14 Tristan241001 阅读(10) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://programmercarl.com/0647.回文子串.html#算法公开课 动态规划最后一部分:回文字符串 子串是从原字符串中连续截取的;子序列可以是从原字符串中不连续提取出元素构成的 学习记录: 647.回文子串(难构造dp数组,dp数组是从原字符串截取[i,j]范围 阅读全文
posted @ 2024-11-14 21:20 Tristan241001 阅读(8) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://programmercarl.com/0115.不同的子序列.html#算法公开课 动态规划系列之编辑距离问题 学习记录: 115.不同的子序列(当遇到相同字母时,可以选择也可以不选;刚开始没看懂;dp[i][j]是对应i-1结尾和j-1结尾,这样的目的是方便第一行和第一列 阅读全文
posted @ 2024-11-13 22:23 Tristan241001 阅读(6) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://programmercarl.com/1143.最长公共子序列.html#算法公开课 动态规划系列之子序列 其实有些用贪心也可解 学习记录: 1143.最长公共子序列(dp[i][j]是代表的i-1和j-1为止的两个片段的最长公共子序列,原因是为了更好的初始化;比如当dp[ 阅读全文
posted @ 2024-11-12 20:15 Tristan241001 阅读(8) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://programmercarl.com/0300.最长上升子序列.html#算法公开课 动态规划系列之子序列 学习记录 300.最长递增子序列(长度最少为1;dp[i]代表到i为止的最长子序列的长度;i的值根据i之前比如j的值来判断;每个地方都有可能获得最长长度) 点击查看代 阅读全文
posted @ 2024-11-11 16:23 Tristan241001 阅读(14) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://programmercarl.com/0188.买卖股票的最佳时机IV.html#算法公开课 动态规划之股票系列(2) 主要是要分持股状态来讨论各种情况,并由前一天的情况来讨论今天的金额 学习记录: 188.买卖股票的最佳时机IV(相当于2k+1维度) 点击查看代码 cla 阅读全文
posted @ 2024-11-09 20:39 Tristan241001 阅读(8) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://programmercarl.com/0198.打家劫舍.html#算法公开课 动态规划的打家劫舍系列和股票买卖系列(股票还有贪心算法可解) 学习记录: 198.打家劫舍(一维dp数组,前n间房子都可偷的情况下的最高金额,每间房子偷数都是由前一间和前两间决定) 点击查看代码 阅读全文
posted @ 2024-11-08 19:33 Tristan241001 阅读(3) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://programmercarl.com/背包问题理论基础完全背包.html#算法公开课 相比于01背包,完全背包中每个物品都可以无限次的放入 组合:先遍历物品,再逆序遍历背包 排列:先逆序遍历背包,再遍历物品 学习记录 卡码网52.携带研究资料(dp[i]代表当重量为i时的最 阅读全文
posted @ 2024-11-07 20:49 Tristan241001 阅读(9) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://programmercarl.com/背包理论基础01背包-1.html 动态规划 01背包问题 学习记录: 卡码网46题.01背包 点击查看代码 # # 二维背包解法 # n, bagweight = map(int, input().split()) # weight= 阅读全文
posted @ 2024-11-04 22:48 Tristan241001 阅读(9) 评论(0) 推荐(0) 编辑
摘要:学习资料:https://programmercarl.com/动态规划理论基础.html#算法公开课 动态规划PART1 动规五部曲: 1,确定dp数组,i和dp[i]的含义 2,递推公式 3,dp数组初始化 4,确定遍历顺序 5,打印数组(用于debug) 常见题型:基本题目、背包问题、打家劫舍 阅读全文
posted @ 2024-11-03 21:19 Tristan241001 阅读(12) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示