算法题
小猪快点跑
这个作者很懒,什么都没留下…
展开
-
二维dp:最长公共子序列、最小调整代价
一、最长公共子序列二、最小调整代价1、题目描述给定两个字符串,已知可以使用三种方式进行变换1. 插入一个字符2. 删除一个字符3. 更改一个字符请设计一个算法,找到两个字符串之间的经历几次最小变换,可以字符串1转换成字符串2输入描述: 输入两个字符串,字符串的长度<=1000输出描述: 最小变换次数输入hellohel...原创 2019-09-09 21:56:45 · 185 阅读 · 0 评论 -
数据结构:树状dp
一、派对的最大快乐值1、题目描述整个公司的人员结构可以看作是一棵标准的多叉树。树的头节点是公司唯一的老板,除老板外,每个员工都有唯一的直接上级,叶节点是没有任何下属的基层员工,除基层员工外,每个员工都有一个或多个直接下级,另外每个员工都有一个快乐值。这个公司现在要办party,你可以决定哪些员工来,哪些员工不来。但是要遵循如下的原则:1.如果某个员工来了,那么这个员工的所有直接下...原创 2019-09-14 00:10:27 · 348 阅读 · 0 评论 -
单调队列
1、单调队列 类似单调栈,只是单调栈的大小是不固定的,而单调队列的大小是有限制的,当队列大小超过限制时,就让队头出队。2、常见问题(1)滑动窗口最大值,递减队列,队头即为最大值,当队列大小超过限制时,出队头(2)滑动窗口最小值,递增队列,队头即为最小值,当队列大小超过限制时,出队头...原创 2019-09-19 22:16:23 · 89 阅读 · 0 评论 -
频率排序:出现频率、出现先后顺序
输入1 2 2 1 1输出1 1 1 2 2#include <iostream>#include <vector>#include <unordered_map>#include <algorithm>using namespace std;class node {public: int cnt; int ind...原创 2019-09-20 21:15:50 · 592 阅读 · 0 评论 -
矩阵走迷宫:BFS
1、矩阵走迷宫问题描述 给定一个只有 0 和 1 的矩阵,0 代表障碍物,1 代表可以通过。求从起点 B 到终点 E 的最短路径。输入: 第一行:两个数字 n 、m,代表矩阵大小; 接下来 n 行:代表矩阵输入; 接下来一行:代表起点坐标; 最后一行:代表终点坐标。输出: 从起点到终点的最短路径...原创 2019-09-21 14:39:43 · 941 阅读 · 0 评论 -
归并排序:非递归实现
1、归并,非递归实现(1)段长度倍增,1,2,3,4,8,...,n 当要合并的单段长<n时,继续合并,直到单段长度>=n就跳出循环。(2)以两段的长度作为每次偏移的长度 每次合并是两个单段一组进行合并,因此要不断地偏移两个单段的长度。/* 5 3 5 2 8 7 2 3 5 7 8*/#include <iost...原创 2019-09-21 17:00:08 · 263 阅读 · 0 评论 -
找到0和1数量相等的最长子串
1、转换成-1和1的字串 计算dp[i],/*input: 10101010output: 8input: 1101000output: 6*/#include <iostream>#include <vector>#include <unordered_map>#include <algorithm&...原创 2019-09-23 17:02:29 · 864 阅读 · 0 评论