随笔分类 - python算法
发表于 2024-03-31 17:34阅读:130评论:0推荐:0
摘要:在蓝桥杯竞赛中,常见的图存储方式包括邻接矩阵、邻接表、链式前向星等。这些存储方式在不同的场景下有着各自的优势和适用性。 邻接矩阵 邻接矩阵是最常见的图的表示方法之一。对于一个有$n$个顶点的图,可以用一个$n \times n$的二维数组来表示。如果图中存在从顶点$i$到顶点$j$的边,则$adj[
阅读全文 »
发表于 2024-03-25 22:39阅读:60评论:0推荐:0
摘要:Kruskal算法和Prim算法都是用于解决图的最小生成树问题的经典算法
阅读全文 »
发表于 2024-02-19 12:04阅读:30评论:0推荐:0
摘要:题目: 647 回文子串 https://leetcode.cn/problems/palindromic-substrings/description/ 讲解: https://programmercarl.com/0647.%E5%9B%9E%E6%96%87%E5%AD%90%E4%B8%B2
阅读全文 »
发表于 2024-02-19 10:55阅读:13评论:0推荐:0
摘要:参考例题 力扣718 https://leetcode.cn/problems/maximum-length-of-repeated-subarray/solutions/310917/yi-zhang-biao-ba-ju-hua-kan-dong-dong-tai-gui-hua-/ 力扣 11
阅读全文 »
发表于 2024-02-19 10:36阅读:63评论:0推荐:0
摘要:问题一:最长严格递增子序列的长度 题目: 给定一个整数数组 nums ,找到其中最长严格递增子序列的长度。 状态定义: dp[i] 表示以 nums[i] 结尾的最长严格递增子序列的长度。 状态转移方程 对于每个 nums[i],遍历其之前的所有元素 nums[j](j 从 0 到 i-1),如果
阅读全文 »
发表于 2024-02-18 11:28阅读:30评论:0推荐:0
摘要:N叉树(N-ary Tree)的类型和代码模板与二叉树有些相似,但由于N叉树具有多个子节点,因此在遍历和节点定义上有所不同。以下是N叉树的类型和相应的代码模板: N叉树节点的定义: class Node: def __init__(self, val=None, children=None): se
阅读全文 »
发表于 2024-02-17 16:54阅读:255评论:0推荐:0
摘要:在解决背包问题时,使用一维动态规划数组和二维动态规划数组都是常见的方法,选择哪种方式取决于问题的特点和解法的需要。 使用一维DP数组的情况: 状态转移方程只涉及到上一行的元素: 当状态转移方程只涉及到上一行的元素时,可以使用一维DP数组。这样能够降低空间复杂度,使算法更为简洁。 问题中只需要考虑当前
阅读全文 »
发表于 2024-02-16 11:21阅读:107评论:0推荐:0
摘要:贪心法(Greedy Algorithm)和双指针法(Two Pointer Technique)都是一些常见的算法技巧,但它们解决问题的思路有一些不同。 贪心法(Greedy Algorithm): 贪心法是一种在每一步选择中都采取当前状态下最好或最优的选择,从而希望全局能够得到最优解的算法思想。
阅读全文 »