摘要:
目录打家劫舍应用应用1:Leetcode.198题目分析边界条件状态转移代码实现应用2:Leetcode.213题目分析代码实现应用3:Leetcode.337题目分析代码实现 打家劫舍 力扣上打家劫舍相关的题目如下: 序号 题目 区别 1 198. 打家劫舍 不能偷窃相邻的房间 2 213. 打家 阅读全文
摘要:
目录博弈问题简介应用应用1:Leetcode.486题目方法一:动态规划(自底向上)解题思路边界条件状态转移代码实现方法二:动态规划(自顶向下)解题思路代码实现方法三:动态规划解题思路边界条件状态转移代码实现应用2:Leetcode.877题目分析代码实现 博弈问题 简介 具有竞争或对抗性质的行为称 阅读全文
摘要:
目录股票买卖问题简介应用应用1:Leetcode.121题目分析边界条件状态转移代码实现应用2:Leetcode.122题目分析边界条件状态转移代码实现应用3:Leetcode.123题目分析边界条件状态转移代码实现应用4:Leetcode.188题目分析代码实现应用5:Leetcode.309题目 阅读全文
摘要:
目录0-1背包问题的应用应用1:Leetcode.416题目分析边界条件状态转移代码实现完全背包问题的应用应用1:Leetcode.518题目分析边界条件状态转移代码实现应用2:Leetcode.322题目方法一:自底向上动态规划分析边界条件状态转移代码实现方法二:自顶向下动态规划分析代码实现应用3 阅读全文
摘要:
目录背包问题简介0-1背包问题题目分析代码实现0-1背包的优化分析代码实现完全背包问题题目分析代码实现完全背包的优化分析代码实现多重背包问题题目分析代码实现多重背包的优化分析代码实现总结遍历顺序遍历嵌套方式 背包问题 简介 简单来讲,你有一个背包,它的容量为 \(W\),你同时有若干个物品,它们有各 阅读全文
摘要:
目录编辑距离定义初始条件状态转移代码实现应用应用1:Leetcode 72. 编辑距离题目解题思路代码实现应用2:Leetcode 712. 两个字符串的最小ASCII删除和题目解题思路边界条件状态转移方程代码实现总结 编辑距离 编辑距离(Minimum Edit Distance,MED),由俄罗 阅读全文
摘要:
目录拓扑排序算法Kahn(卡恩)算法DFS 算法代码实现应用应用1:Leetcode.207题目解题思路方法一:深度优先方法二:广度优先代码实现应用2:Leetcode.210题目解题思路方法一:深度优先搜索方法二:广度优先搜索代码实现应用3: Leetcode.239题目解题思路方法一:DFS方法 阅读全文
摘要:
目录最小生成树Kruskal 算法应用应用1:Leetcode.1135题目解题思路代码实现应用2:Leetcode.1584题目解题思路代码实现 最小生成树 我们定义无向连通图的 最小生成树(Minimum Spanning Tree,MST)为边权和最小的生成树。 注意:只有连通图才有生成树,而 阅读全文
摘要:
目录二叉搜索树定义性质常用结论二叉树的常用操作二叉查找树的有效性校验递归的思路迭代的思路二叉查找树的查找查找最大值查找最小值二叉查找树的插入递归的思路迭代的思路二叉查找树的删除代码实现递归实现迭代实现 二叉搜索树 定义 一棵二叉查找树(\(BST\))是一个二叉树,其中每个结点都含有一个\(Camp 阅读全文
摘要:
目录Dijkstra算法算法分析代码模板应用应用 1:Leetcode.743题目题目分析代码实现应用 2:Leetcode.1514题目解题思路代码实现应用 3:Leetcode.1631题目解题思路代码实现总结 Dijkstra算法 给定一个源顶点 \(s\) 从一组顶点 \(V\) 在加权有向 阅读全文
摘要:
[TOC] # 二叉树 # 求解思路 二叉树的问题,可以分为两类: - 回溯的思想:通过遍历一次二叉树所有节点,求解答案; - 分治的思想:通过定义一个带返回值的递归函数,将问题分解为子问题(子树),递归推导出答案。 # 二叉树的访问 二叉树有四种访问顺序: - 前序遍历 - 中序遍历 - 后续遍历 阅读全文
摘要:
目录滑动窗口算法思路代码模板应用应用1:Leetcode 76. 最小覆盖子串题目分析思路代码实现应用2:Leetcode 567. 字符串的排列题目分析代码实现应用3:Leetcode 438. 找到字符串中所有字母异位词题目解题思路代码实现应用4:Leetcode 395. 至少有 K 个重复字 阅读全文
摘要:
目录并查集(Union-Find)算法简介思路代码实现应用应用1:Leetcode.130题目分析代码实现应用2:Leetcode.323题目分析代码实现应用3:Leetcode.261题目分析代码实现应用4:Leetcode.684题目分析代码实现应用5:Leetcode.684题目分析代码实现 阅读全文
摘要:
目录页面置换算法简介LRU和LFU算法算法实现LRU算法题目:Leetcode.16.25思路代码实现LFU算法题目:Leetcode.460思路流程代码实现优化后的代码 页面置换算法简介 在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中 阅读全文
摘要:
目录最长递增子序列简介分析方法一: 转换为LCS方法二:动态规划初始条件状态转移方程代码实现方法三:二分法代码实现应用应用1:Leetcode.300题目分析代码实现应用2:Leetcode.354题目分析代码实现 最长递增子序列 简介 最长递增子序列(Longest Increasing Subs 阅读全文
摘要:
目录简介差分数组性质差分数组工具类应用应用1:Leetcode.1109题目题目分析代码实现应用2:Leetcode.370题目题目分析代码实现应用3:Leetcode.1094题目题目分析代码实现 简介 差分数组 与前缀和数组类似,差分数组里的每个元素,是原数组的后项与前项之差,即: \[diff 阅读全文
摘要:
目录简介应用应用1:Leetcode.303题目分析代码实现应用2:Leetcode.523题目分析算法步骤代码实现应用3:Leetcode.304题目分析先求二维矩阵的前缀和任意子矩阵的和代码实现应用4:Leetcode.974题目分析方法一方法二代码实现方法一方法二 简介 求区间和,一般的思路都 阅读全文
摘要:
目录介绍基本的二分搜索思路代码实现查找左边界的二分搜索思路代码实现查找右边界的二分搜索思路代码实现 介绍 二分查找适用于已经排序的序列,通过对搜索区间折半的方式查找目标元素。 基本的二分搜索 基本的二分查找适用于在已经排序的无重复元素的序列中,查找一个目标值。。 思路 查找左边界的二分搜索,假设查找 阅读全文
摘要:
目录最长公共子序列应用应用1:Leetcode.1143题目解题思路初始状态状态转移代码应用2:Leetcode.583题目解题思路代码实现总结 最长公共子序列 最长公共子序列(Longest Common Subsequence),英文缩写为LCS,是动态规划中的经典问题。其定义是,一个序列 S, 阅读全文