算法题解整理

算法题解整理

结题方法总结

序号 类型 解法1 解法2 步骤 备注 注意
1 动态规划 DP table的状态转移+确定 base case 变换目标(背包问题,可拿出);第i个位置的值等于遍历之前所有的dp值补上第i个位置到此位置的差值,取最大的值更新a[i] 子序列问题一般可用DP来解决 子序列的问题,一般用DP可以来解决:用一个dp数组存储,value为截止到字符串1的第i个,字符串2的第j个为止,最长的、匹配的公共子序列
2 二叉树 递归遍历每个结点(遍历左右节点的顺序,压栈;直到全部出栈);验证二叉树;二叉搜索树;中序遍历(dfs的遍历顺序不同) 引入上下边界+DFS递归每个根节点
3 DFS
4 BFS
5 并查集 使用成为"成为家庭"和"找父亲"的方法解决
6 字符串 字符串与整形的转换;模式匹配(拼接函数:strcon(des,source));子字符串(长度最长、字典序最小) 通过先引入当前最适合的变量,通过与当前最适合的变量相比,排除去一部分情况。 itoa(整形,字符数组名,进制;tostring()将整型转换为string类型;string 将字符数组转换为string类型
7 合并 递归
8 排序 快排:将一个数放到合适的位置,再对其左右两边递归操作。直到左边界>=右边界;
9 数学 排列组合:插位置放东西
10 英文题 注意看题目
11 多项式 用数组存储多项式的幂和系数,将相同幂的值相关起来
12 金字塔型 找规律:累加次数的规律

你可能感兴趣的:(算法)