自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 完全背包与多重背包

所谓完全背包,就是每一件物品有无数件,可以多次选择同一件物品,我们之前将了一维化01背包,其中探讨了一维化dp数组遍历顺序的重要性,在这里我们在复述一下,在一维化dp数组里,在遍历背包顺序中,不能按照背包容量从小到大遍历,否则会出现多次选择同一件物品的情况,所以一维化01背包我们选择的是按照背包容量从大到小遍历。看到这里,想必已经有头绪了,完全背包可以多次选择同一件物品,那我们按照背包容量从小到大遍历即可。

2024-03-05 14:11:38 327

原创 一维化01背包(详细)

之前我们介绍了01背包,但是dp数组是二维化的,现在我们需要将其变成一维数组,如果已经对二维化的01背包十分了解了,那么理解一维化的dp数组也不是问题。

2024-03-05 13:18:15 445 1

原创 01背包(详细)

背包最大重量为4。有物品3件,分别有其质量和价值。问背包能背的物品最大价值是多少?这是标准的动态规划问题,每一个问题鱼鳍前面的子问题相联。

2024-03-02 15:53:18 809 1

原创 不同的二叉搜索树

给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种?所谓动态规划,所涉及的问题是要求的问题会与前面的子问题相关联,并由前面的子问题推导而来,这一点如果学过数学归纳法就会觉得十分眼熟。作为这道题而言,所谓二叉搜索树,其必须满足的条件就是,左子树的所有成员一定都小于根节点,右子树的所有成员一定都大于根节点。

2024-02-29 15:09:22 389

原创 解数独问题

乍一看解数独和N皇后问题很像,甚至会更难些,但其实我觉得二者是差不多的,在解数独的代码里,会加入一个二维的结构,但是其实我们不必那样想,数独是一个9*9的表格,我们可以将其拆成一条竖下来的线,即第二行接到第一行末尾,第三行接到第二行末尾......解数独只有一种正确解法,我们只需要找到即可,不需要结果集来搜集,回溯函数的返回值设置为bool,一旦满足条件(最后一个格子也遍历)即返回,结束函数。这样一来,整个表格就成了一个竖向的表格,其中每一个格子都有1~9可能性,这与n皇后的每一层就非常相似了。

2024-02-26 18:02:44 283 1

原创 N皇后问题

将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

2024-02-26 17:12:59 165 1

原创 滑动窗口(双指针)

在一个数组或字符串中找到满足条件的子数组或子串,通过移动起始位置和终止位置,从而构造成一个滑动的窗口,使得单次遍历便可解决问题,时间复杂度较低。

2023-12-24 16:21:46 391 1

原创 KMP判断是否由重复字符串组成

给出一字符串,判断其是否由重复子字符串组成。即:输入:asdasdasd输出:true输入asdfg输出:false。

2023-12-24 13:47:46 514 1

原创 KMP算法

aabaabaafaabaaf逐个匹配,匹配到f时,b与f不相等,此时看f前一位的next数组元素(next会在后面说明),并在子串中跳到对应数字位置,继续匹配。在f前一位的next数组元素是f前面子串(aabaa)的最长前后缀,即2,这时候说明这个子串的开始两位与末尾两位一模一样,这说明了什么?

2023-12-22 17:44:30 1547 1

原创 反转字符串里的单词

给定一句英文,要求倒叙输出每一个单词,并删除多余的空格(句子前面和句子后面,句子中重复了两遍的空格)示例:输入:"I am a programmer"输出:"programmer a am I"注意,如果句子中有多余的空格要记得删除其中一个示例:输入:"hello world!输出:"world!hello"

2023-12-21 19:44:11 591

原创 二叉搜索树删除节点

作为一棵二叉搜索树,其属性有其左子树小于根节点,右子树大于根节点。在删除二叉搜索树的节点后,我们仍要保持这个属性。

2023-12-20 11:11:06 1317

原创 最近共同祖先

给出两个节点,要求找到其最近的共同祖先。

2023-12-19 21:54:15 351

原创 二叉搜索树的众数

至此,我们得到了一个由大到小按照频率排序的数组,此时我们还需要思考一种情况:众数可能不止一个,所以接下来需要将数组的第二号,第三号......与第一号进行频率的比对,直至小于第一号的频率。

2023-12-19 21:11:06 353

原创 合并二叉树

给出两棵树,现在需要将其合并。我们将树1作为最后合并的树,所有合并的操作都在树1上。

2023-12-19 19:45:25 354 1

原创 构造二叉树

使用后序遍历和中序遍历构造出树二叉。

2023-12-19 19:13:41 343

原创 二叉树路径总和

5/ \4 6给定一个目标值,找到一条从根节点到叶子节点的路径,使这个路径的节点总和等于目标值如给定目标值11路径即为输出:5->4->2与之前的二叉树的所有路径比较相似,这次多了一个数字。

2023-12-19 16:07:05 379

原创 二叉树的所有路径

A/ \B C我们需要输出:A->B->DA->B->EA->C->FA->C->G我们可以发现,其路径顺序和前序遍历顺序吻合,在这里我们使用前序遍历。

2023-12-19 15:08:08 365

原创 对称二叉树判断

一棵对称二叉树,对于根节点而言,他的左子树和他的右子树完全镜像对称,也就是说结构对称,即不用看对称节点的数据是否相等,只需要看对称的节点是否存在即可数据对称,即不仅要结构对称,其数据也要相同。

2023-12-19 13:56:21 402

原创 二叉树最大高度和最小深度

在计算最小深度时,往往容易陷入误区,而我们只需要将一个孩子为空的情况拎出以进行继续向下递即可。

2023-12-19 12:05:21 483 1

原创 Qt实现无边框窗口

本篇为作者第一次学做无边框窗口的历程。

2023-11-29 16:46:30 2207 2

原创 自定义控件和事件过滤器两种方式实现鼠标按下、移动、释放事件

Qt中事件过滤器与自定义控件/鼠标跟踪/坐标/globalpos/pos

2023-11-23 16:57:53 394 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除