算法优选
文章平均质量分 97
遇事问春风乄
长风破浪会有时,直挂云帆济沧海
展开
-
【算法优选】 动态规划之子数组、子串系列——贰
动态规划相关题目都可以参考以下五个步骤进行解答:状态表示状态转移⽅程初始化填表顺序返回值后面题的解答思路也将按照这五个步骤进行讲解。原创 2024-05-19 17:17:22 · 855 阅读 · 0 评论 -
【算法优选】 动态规划之简单多状态dp问题——贰
动态规划相关题目都可以参考以下五个步骤进行解答:状态表示状态转移⽅程初始化填表顺序返回值后面题的解答思路也将按照这五个步骤进行讲解。原创 2024-04-10 21:10:15 · 1561 阅读 · 39 评论 -
【算法优选】 动态规划之简单多状态dp问题——壹
动态规划相关题目都可以参考以下五个步骤进行解答:状态表⽰状态转移⽅程初始化填表顺序返回值后面题的解答思路也将按照这五个步骤进行讲解。原创 2024-01-19 16:38:52 · 1228 阅读 · 17 评论 -
【算法优选】 动态规划之路径问题——贰
动态规划相关题目都可以参考以下五个步骤进行解答:状态表⽰状态转移⽅程初始化填表顺序返回值后面题的解答思路也将按照这五个步骤进行讲解。原创 2023-12-11 21:49:17 · 2799 阅读 · 120 评论 -
【算法优选】 动态规划之路径问题——壹
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。1.向右 -> 向下 -> 向下2.向下 -> 向下 -> 向右3.向下 -> 向右 -> 向下示例 3:输入:m =原创 2023-11-27 22:35:06 · 1062 阅读 · 20 评论 -
【算法优选】 动态规划之斐波那契数列模型
动态规划相关题目都可以参考以下五个步骤进行解答:状态表⽰状态转移⽅程初始化填表顺序返回值后面题的解答思路也将按照这五个步骤进行讲解。原创 2023-11-13 22:43:16 · 1017 阅读 · 28 评论 -
【算法优选】前缀和专题——叁
含义前缀和实际上就是对于长度为n的数组,我们新建立一个数组长度为n+1,第i个元素的值为前i个元素的和(包括第i个元素)。特点前缀和数组比原数组多一个长度。前缀和的第0个元素的值为0。根据前缀和数组的特点,求前缀和时。我们只需要用第i个元素的值+第i-1个前缀个数组的值就可能得到第i个前缀和数组的值。(这也是一种动态规划的思想)。应用前缀和算法可以解决一些在数组中与连续有关的问题。原创 2023-10-29 20:51:36 · 749 阅读 · 51 评论 -
【算法优选】 二分查找专题——贰
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。查找过程首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。算法要求。原创 2023-10-12 22:38:21 · 1220 阅读 · 38 评论 -
【算法优选】 前缀和专题——贰
含义前缀和实际上就是对于长度为n的数组,我们新建立一个数组长度为n+1,第i个元素的值为前i个元素的和(包括第i个元素)。特点前缀和数组比原数组多一个长度。前缀和的第0个元素的值为0。根据前缀和数组的特点,求前缀和时。我们只需要用第i个元素的值+第i-1个前缀个数组的值就可能得到第i个前缀和数组的值。(这也是一种动态规划的思想)。应用前缀和算法可以解决一些在数组中与连续有关的问题。原创 2023-10-23 22:41:14 · 625 阅读 · 14 评论 -
【算法优选】 前缀和专题——壹
含义前缀和实际上就是对于长度为n的数组,我们新建立一个数组长度为n+1,第i个元素的值为前i个元素的和(包括第i个元素)。特点前缀和数组比原数组多一个长度。前缀和的第0个元素的值为0。根据前缀和数组的特点,求前缀和时。我们只需要用第i个元素的值+第i-1个前缀个数组的值就可能得到第i个前缀和数组的值。(这也是一种动态规划的思想)。应用前缀和算法可以解决一些在数组中与连续有关的问题。原创 2023-10-14 22:43:26 · 944 阅读 · 17 评论 -
【算法优选】 二分查找专题——壹
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用,而且表中元素按关键字。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。1.必须采用顺序存储结构。原创 2023-10-09 09:40:09 · 1319 阅读 · 55 评论 -
【算法优选】 滑动窗口专题——贰
基本概念滑动窗口是一种基于双指针的一种思想,两个指针指向的元素之间形成一个窗口。分类:窗口有两类,一种是固定大小类的窗口,一类是大小动态变化的窗口。一起加油。原创 2023-10-06 22:56:13 · 1087 阅读 · 42 评论 -
【算法优选】 滑动窗口专题——壹
基本概念滑动窗口是一种基于双指针的一种思想,两个指针指向的元素之间形成一个窗口。分类:窗口有两类,一种是固定大小类的窗口,一类是大小动态变化的窗口。一起加油。原创 2023-10-03 21:27:56 · 1937 阅读 · 59 评论 -
【算法优选】双指针专题——叁
常⻅的双指针有两种形式,⼀种是对撞指针,⼀种是左右指针对撞指针:⼀般⽤于顺序结构中,也称左右指针。对撞指针从两端向中间移动。⼀个指针从最左端开始,另⼀个从最右端开始,然后逐渐往中间逼近。对撞指针的终⽌条件⼀般是两个指针相遇或者错开(也可能在循环内部找到结果直接跳出循环),也就是:left == right (两个指针指向同⼀个位置)left > right (两个指针错开)快慢指针:⼜称为⻳兔赛跑算法,其基本思想就是使⽤两个移动速度不同的指针在数组或链表等序列结构上移动。原创 2023-10-02 19:34:47 · 1174 阅读 · 41 评论 -
【算法优选】双指针专题——贰
常⻅的双指针有两种形式,⼀种是对撞指针,⼀种是左右指针对撞指针:⼀般⽤于顺序结构中,也称左右指针。对撞指针从两端向中间移动。⼀个指针从最左端开始,另⼀个从最右端开始,然后逐渐往中间逼近。对撞指针的终⽌条件⼀般是两个指针相遇或者错开(也可能在循环内部找到结果直接跳出循环),也就是:left == right (两个指针指向同⼀个位置)left > right (两个指针错开)快慢指针:⼜称为⻳兔赛跑算法,其基本思想就是使⽤两个移动速度不同的指针在数组或链表等序列结构上移动。原创 2023-10-02 15:07:26 · 984 阅读 · 8 评论 -
【算法优选】双指针专题——壹
常⻅的双指针有两种形式,⼀种是对撞指针,⼀种是左右指针对撞指针:⼀般⽤于顺序结构中,也称左右指针。对撞指针从两端向中间移动。⼀个指针从最左端开始,另⼀个从最右端开始,然后逐渐往中间逼近。对撞指针的终⽌条件⼀般是两个指针相遇或者错开(也可能在循环内部找到结果直接跳出循环),也就是:left == right (两个指针指向同⼀个位置)left > right (两个指针错开)快慢指针:⼜称为⻳兔赛跑算法,其基本思想就是使⽤两个移动速度不同的指针在数组或链表等序列结构上移动。原创 2023-10-01 22:50:39 · 1173 阅读 · 41 评论