算法
guagua070707
这个作者很懒,什么都没留下…
展开
-
编辑距离 dp 动态规划
编辑距离 /** * 编辑距离 * 思路: * 首先想到是否可以构建多阶段模型 * 阶段1,阶段2,阶段3.。。。。 * * dp[m+1][n+1],dp[0][0]不代表任何字符 * dp[i][j]代表最少操作数 * 正向推导: * 如果t1[i]=t2[j],那么有三种决策,(i+1,j), (i,j+1),(i+1,j+1),分别对应t1删除一个;t2删除一个;t1和t2匹配,无操作, *原创 2021-09-17 18:35:38 · 78 阅读 · 0 评论 -
dp算法,最长公共子序列
leecode地址 力扣https://leetcode-cn.com/problems/longest-common-subsequence/ /** * * 匹配模型: * 思路: * * 最长公共子序列 * 思路: * dp[i][j]代表字符串1(0到i-1,长度为i),字符串2(0到j-1,长度为j)的匹配结果 * 如果i-1=j-1,那么dp[i][j]可以从[i-1][j],[i][j-1],[i-1][j-原创 2021-09-30 10:59:38 · 100 阅读 · 0 评论 -
算法-回溯-多阶段决策模型
其中比较重要的是转化为多阶段决策模型 阶段1,阶段2,、、、、阶段n原创 2021-08-17 15:19:21 · 631 阅读 · 0 评论 -
回溯-子集-不能包含重复的子集
/** * https://leetcode-cn.com/problems/subsets-ii/ * 不能包含重复的子集 * 思路: * 构造一个对应关系 * key为数字,value为该数字的个数 * 决策树,不选,该数字的个数从0到value个 * 不再是选或者是不选,而是不选或者是选几个 * @param nums * @return */ public List<List<I.原创 2021-08-11 15:00:31 · 113 阅读 · 0 评论 -
算法-回溯总结
包含因素: 1.已经选择的元素 2.剩余元素 其中自带因素(隐含因素): 1.全部元素 2.全部元素的数量n 3.已经选择元素的数量x 4.下一次选择元素,为第x+1个(第几次决策) 递归参数为:从这些因素里面选择可以使用的,作为参数 ...原创 2021-08-07 13:41:54 · 57 阅读 · 0 评论 -
调度场朴素算法一
文章引用自 http://hczhcz.github.io/2014/03/03/shunting-yard-algorithm-2.html 以1+(2+3)*4 + 5 为例 1.第一遍扫描,括号优先级最高,先扫描括号内的 2.第二遍扫描,计算优先级较高的乘法 3.第三遍扫描,计算加法 其中,括号匹配部分,初始化变量x为0,读入左括号x加1,读入右括号x减1,当x为0时,括号匹配 ...原创 2021-08-06 14:43:35 · 72 阅读 · 0 评论 -
查询串添加域间或
思路: 1.解析查询串为一个个单词,放入链表中 2.将该链表放入list中,构成list<链表> 3.递归该链表 3.1依次将单词放入栈中,如果为左括号,则继续放入,直到为右括号 3.2依次弹出栈,头插到linkedlist中,如果为域间或||,则新开一个链表,继续头插,最后结果为多个链表 比如:(a=b||c=d) 则结果为list1中存储a=b,list2中存储c=d 3.3遍历3.2中的结果链表,将栈中剩余的元素,依次头插到链表中 比如e=f&(a=b||c=d)原创 2021-08-02 20:13:39 · 151 阅读 · 0 评论 -
算法基本一
时间复杂度分析 O(1) O(logn) O(n) O(nlogn) O(n^2) O(2^n) O(n!) 最好,最坏,平均时间复杂度 均摊时间复杂度和摊还分析 典型例子:动态扩容,list中有空间,直接插入;没有空间,先扩张list的大小,复制原来数据,再插入数据 空间复杂度: 首先是,递归的写法;然后是循环的写法(重点) 2^k > n log2 (2^k) > log2 (n) k > log2 (n) 统一为logn 战略上藐原创 2021-08-02 19:48:09 · 60 阅读 · 0 评论 -
二叉树的前序中序后序遍历
分为递归和循环两种方式: 循环为模拟递归的入栈出栈的操作过程。 import java.util.ArrayList; import java.util.List; import java.util.Stack; public class Solution5_2 { public class TreeNode { public int val; public TreeNode left; public TreeNode right;原创 2021-07-26 17:30:35 · 50 阅读 · 0 评论