自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用mutex和condition_variable完成多线程操作

【代码】用mutex和condition_variable完成多线程操作。

2023-05-02 22:40:00 87

原创 力扣300题:最长递增子序列

1、dp[i]意为以nums[i]结尾的数组最大递增子序列长度为dp[i]3、所以便利从nums[1]开始,且每个元素的初始dp值为1。2、dp[i]取决于dp[0-i)之间的最大值。

2023-01-15 09:45:35 221

原创 0-1背包和完全背包问题总结

4、确定遍历顺序:运用滚动数组的话必须从最大背包容量开始遍历(这也是0-1背包和完全背包的最大区别),并且必须先遍历物品后遍历容量(物品遍历的for循环在外层,背包容量遍历的循环在内层)。必须先遍历物品的原因是滚动数组与二维数组不同,每次的值依赖于本行左边的值(将滚动数组想象成二维数组,每次维护的时候变成二维数组的下一行),所以需要一次求出完整的一行。1、确定dp数组的含义和内存范围:dp[i]意为容量为i的背包最大价值为dp[i];dp[i]:容量为i的背包共有dp[i]种装法;

2023-01-10 19:32:26 153

原创 二叉树的遍历:前序、中序、后续(递归+迭代)

迭代法的思路是通过模拟栈的方式达到递归调用的效果,但三种遍历方式的遍历操作大不相同。2、else 弹出栈顶结点成为当前结点并输出,当前结点向右走一一步。1、if 当前结点不为空时入栈,当前结点继续向左走一步。1、弹出栈顶结点作为当前结点,并将数据输出。1、弹出栈顶结点,并将其数据输出。3、栈空且当前结点为空时退出循环。2、若此结点右节点不为空则入栈。3、若此结点左结点不为空则入栈。0、初始设置:将根结点入栈。2、如果左节点不空则入栈。3、如果右节点不空则入栈。0、将根节点作为当前结点。

2023-01-02 16:45:15 160

原创 力扣-189题:轮转数组

1、用k对nums.length取模得到每个数字需要向前移动的步数m;输入: nums = [1,2,3,4,5,6,7], k = 3。3、将前m个数字和后nums.length-m个数字分别翻转。给你一个数组,将数组中的元素向右轮转。向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]输出: [5,6,7,1,2,3,4]

2022-12-24 18:20:44 170

原创 力扣-278题:第一个错误的版本

你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。tips:水题一道,但是在求mid的时候,如果将left与right相加求mid的话int会溢出 ,所以要通过其他方法求中值。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。所以,4 是第一个错误的版本。

2022-12-23 22:13:32 95

原创 力扣-53题:最大子数组和

1、定义子状:在每一个状态dp[i]中,元素nums[i]必定会被选中,然后根据dp[i-1]的状态考虑是否要包括nums[i-1]。以第2个元素结尾的最大子数组和是多少。以第3个元素结尾的最大子数组和是多少。以第4个元素结尾的最大子数组和是多少。以第5个元素结尾的最大子数组和是多少。,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。2、转化为子问题:以第1个元素结尾的最大子数组和是多少。连续子数组 [4,-1,2,1] 的和最大,为 6。是数组中的一个连续部分。

2022-12-21 09:19:28 122

原创 剑指 Offer II 036. 后缀表达式

3、如果为算符则将前两位数字弹出,先入栈者为左操作数,运算结果再次入栈,继续遍历。解释:该算式转化为常见的中缀算术表达式为:(4 + (13 / 5)) = 6。解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9。输入:tokens = ["4","13","5","/","+"]输入:tokens = ["2","1","+","3","*"]每个运算对象可以是整数,也可以是另一个逆波兰表达式。4、遍历结束时,栈内的即数字为答案。2、如果为数字则入栈,继续遍历。

2022-12-19 21:46:01 67

原创 蓝桥杯真题:等差数列

第二行包含 NN 个整数 A_1,A_2,··· ,A_NA1​,A2​,⋅⋅⋅,AN​。(注意 A_1A1​ ∼ A_NAN​ 并不一定是按等差数列中的顺序给出)样例说明: 包含 2、6、4、10、20 的最短的等差数列是 2、4、6、8、10、12、14、16、 18、20。但是粗心的小明忘记了一 部分的数列,只记得其中 NN 个整数。现在给出这 NN 个整数,小明想知道包含这 NN 个整数的最短的等差数列有几项?2、求出所有差值的最大公因数,即为公差。输入的第一行包含一个整数 NN。

2022-12-18 20:41:56 172

空空如也

空空如也

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

TA关注的人

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