![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 85
吃龙虾一样能吃饱
这个作者很懒,什么都没留下…
展开
-
【动态规划】最长公共子序列
题目描述:给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。示例 1:输入:text1 = "abcde", text2 = "ac.原创 2021-04-04 08:20:00 · 197 阅读 · 0 评论 -
卡尔曼滤波:高斯过程 + 贝叶斯推断
前言PRML中提到,卡尔曼滤波是高斯过程的一种应用,本文便从高斯过程的角度来总结一下卡尔曼滤波;首先明确卡尔曼滤波包括两部分:预测和更新。预测就是根据系统上一时刻的状态x^t−1\hat{x}^{t-1}x^t−1预测当前时刻的状态xtx^{t}xt;更新就是通过当前时刻的观察值ztz^tzt更新当前时刻的状态预测值xtx^{t}xt,作为当前时刻的最优估计x^t\hat{x}^{t}x^t。以此方法迭代。其次明确系统的真实状态是确定的、唯一的,但是!!我们得到的所有估计值都是不确定的,是一个随机变原创 2020-05-10 16:25:04 · 1563 阅读 · 2 评论 -
单调栈及其应用
单调栈数据结构顾名思义,单调栈就是说栈中的元素是单调的,递增或者递减。单调栈的构造:对于一个非单调的数据序列arr,如何构造单调递增栈:stack = []for a in arr: if not stack or stack[-1]<=a:# 如果栈空,或者元素比栈中最后一个元素大,则入栈 stack.append(a) else: # 如果栈非空,且元素比栈中最...原创 2020-04-30 12:16:29 · 370 阅读 · 0 评论 -
理解判别式模型和生成式模型
1. 我们要做什么:以分类问题为例:给定数据集XXX、数据标签CCC,学习一个模型。我们的目标是给出新的xxx,判断xxx所属的类别。用数学语言来描述,就是求p(c∣x)p(c|x)p(c∣x)的大小。2. 判别式模型:直接对 p(c∣x)p(c|x)p(c∣x) 建模2.1 建立一个xxx到p(c∣x)p(c|x)p(c∣x)的映射例如在逻辑回归问题中,我们使用了sigmoid函数...原创 2020-04-21 15:36:10 · 352 阅读 · 0 评论 -
对dijkstra算法和A*算法的理解
dijkstra算法算法原理不再详述,给出两篇参考文章,看完就懂:自动驾驶路径规划-Dijkstra算法数据结构–Dijkstra算法最清楚的讲解自己的理解:dijkstra算法得到的结果是单源的,即必须设定一个起点A,等到遍历完所有点之后,得到的结果是点A到所有剩余点的最短距离和最短路径。如果起点换成B,那就要重新设定B为起点,然后运行一遍算法;dijkstra算法采用...原创 2020-04-17 14:29:41 · 1268 阅读 · 0 评论 -
链表相关算法整理【实时更新】
1. 链表删除重复节点重复节点不保留:双重循环class Solution: def deleteDuplication(self, p): # write code here root = ListNode(0) root.next = p pre = root while p: ...原创 2020-03-25 14:29:54 · 153 阅读 · 0 评论 -
python 排序算法整理
微信链接:十大排序算法转载 2020-03-25 14:07:32 · 89 阅读 · 0 评论 -
矩阵中的路径【剑指offer】-回溯和BFS
矩阵中的路径【剑指offer】- 回溯、BFS题目:输入:path = “ABCCED” ,matrix = “ABCESFCSADEE”,rows = 3,cols = 4输出: True or False1. 回溯法(递归):思路:首先矩阵中每一个字母都有可能是path的开头,因此遍历所有矩阵元素,只要有一次递归返回True,则返回True;递归思路:每一步递归做...原创 2020-03-25 13:48:39 · 244 阅读 · 0 评论 -
【动态规划】机器人走迷宫-BFS
机器人走迷宫-BFS题目描述:给一个矩阵,0代表可走位置,1代表障碍物给定起点和终点和行走规则(上、下、左、右),输出最短路径探寻最短路径—BFS首先定义两个辅助函数,valid_actions()和robot_move():valid_actions():相当于动态规划中智能体的策略(policy)p(a|x)输入:环境矩阵,当前位置输出:所有可行动作['up', 'rig...原创 2020-03-24 12:26:10 · 937 阅读 · 0 评论 -
二叉树的序列化和反序列化(先序遍历、后序遍历、BFS、DFS)
二叉树的序列化和反序列化序列化: 给定二叉树,生成 先序、后序、BFS、DFS 序列反序列化:给定先序、后序、BFS、DFS 序列, 生成二叉树序列化:先序序列化:递归方法:def Preorder_serialize(root): return ['#'] if not root else [root.val] + Preorder_serialize(root.le...原创 2020-03-24 09:27:03 · 923 阅读 · 2 评论 -
和为S的连续正数序列或 和为S的两个数字
问题一:和为S的连续正数序列题目:100的连续正数序列为[9,10,11,12,13,14,15,16] 与 [18,19,20,21,22]。给定一个整数,返回所有的连续正数序列。双指针法(滑动窗口):class Solution: def FindContinuousSequence(self, tsum): # write code here ...原创 2020-03-23 13:18:37 · 67 阅读 · 0 评论 -
求二叉树的最大深度的三种方法
求二叉树深度的三种方法:递归、层次遍历、深度遍历递归:class Solution: def TreeDepth(self, p): # write code here # 终止条件: if not p: return 0 return max(self.TreeDepth(p.left), s...原创 2020-03-22 12:04:21 · 1574 阅读 · 0 评论 -
OMPL中的规划算法汇总
OMPL简介The Open Motion Planning Library(OMPL)是基于采样方法的开源运动规划库,其规划算法可以分为两类:Geometric plannersControl-based plannersMove it!和OMPL的关系:OMPL is a open source library for sampling based / randomized m...原创 2019-11-28 18:32:31 · 3549 阅读 · 0 评论