自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【左值引用和右值引用?右值引用后还是右值吗?右值引用有什么作用?什么又是引用折叠呢?如何实现语意和完美转发?】】

C++11新特性——右值引用

2023-07-27 23:33:30 158

原创 【工厂模式】

工厂模式(Factory Pattern)是一种创建对象的设计模式,它提供了一种封装对象创建过程的方式,以便于客户端代码使用抽象接口来创建对象,而无需关心具体的对象实现类。工厂模式的核心思想是。也就是说, 工厂可以生产产品,而客户只需要调用工厂提供的接口得到想要的产品。

2023-07-09 17:36:34 188

原创 【设计模式-单例模式】

什么是单例模式?什么是饿汉和懒汉?懒汉模式的线程安全问题如何解决

2023-07-08 00:17:44 792

原创 关于开源项目 Tinywebserver的使用与配置fatal error: mysql.h: No such file or directory

根据提示是没找到mysql头文件,所以我们可以手动指定查找路径和相应的库路径。最后为了方便重写makefile文件以后用这个makefile文件就行了。相较于Tinyweserver中的makefile文件实际上也就加了。所以我是输入 172.31.91.219:9006 最后访问成功。如果你执行了上面这条指令后还是编译报出同样错,请继续往下看。注意每个人mysql默认安装路径还可以不一样,所以先用。编译完成后,执行 ./server 运行程序。指令查看一下你的mysql的安装路径。mysql库文件路径。

2023-07-04 11:37:20 718

原创 【第60天| 84.柱状图中最大的矩形】

【代码】【第60天| 84.柱状图中最大的矩形】

2023-06-17 12:01:16 489

原创 【59天|503.下一个更大元素II ● 42. 接雨水】

否则首指针的lmax >= 尾指针的rmax, 即尾指针的rmax

2023-06-16 15:23:19 929

原创 【第58天】● 739. 每日温度 ● 496.下一个更大元素 I

【代码】【第58天】● 739. 每日温度 ● 496.下一个更大元素 I。

2023-06-15 19:55:11 311

原创 【第57天| 647. 回文子串 ● 516.最长回文子序列】

【代码】【第57天| 647. 回文子串 ● 516.最长回文子序列】

2023-06-14 14:14:54 305

原创 【第56天| ● 583. 两个字符串的删除操作 ● 72. 编辑距离】

int。

2023-06-13 15:40:13 447 1

原创 【第55天|● 392.判断子序列 ● 115.不同的子序列 】

【代码】【第55天|● 392.判断子序列 ● 115.不同的子序列 】

2023-06-12 10:39:37 822

原创 【第53天| ● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划 】

其实就是0-1背包问题,

2023-06-10 13:01:54 309

原创 【第52| ● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组 】】

【代码】【第52| ● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组 】】

2023-06-10 11:19:22 305

原创 【第51天| 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费 】

1. 当前持有股票状态12. 当前不持有股票,且不是今天卖出的股票状态23. 当前不持有股票, 且股票是今天卖出的状态3状态1状态2状态1状态2状态2状态3状态3。

2023-06-08 15:47:14 611

原创 【第50天| ● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV 】

【代码】【第50天| ● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV 】

2023-06-07 20:14:01 313

原创 【第49天|● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II 】

【代码】【第49天|● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II 】

2023-06-06 09:14:02 312

原创 【第48天|198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III】

【代码】【第48天|198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III】

2023-06-05 11:21:39 310

原创 【第46天| 139.单词拆分】

【代码】【第46天| 139.单词拆分】

2023-06-03 15:20:51 307

原创 【第45天| 70. 爬楼梯 (进阶) ● 322. 零钱兑换 ● 279.完全平方数】

【代码】【第45天| 70. 爬楼梯 (进阶) ● 322. 零钱兑换 ● 279.完全平方数】

2023-06-02 14:58:10 305

原创 【动态规划6| ● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ 】

【代码】【动态规划6| ● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ 】

2023-06-01 20:07:46 317

原创 【43天|1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零 】

dp[j] 表示j容量的背包可以背下石头的最大重量。

2023-05-31 10:40:28 303

原创 【第42天| 416. 分割等和子集 】

【代码】【第42天| 416. 分割等和子集 】

2023-05-30 15:54:36 309

原创 【第41天| 动态规划3| ● 343. 整数拆分 ● 96.不同的二叉搜索树】

【代码】【第41天| 动态规划3| ● 343. 整数拆分 ● 96.不同的二叉搜索树】

2023-05-29 14:11:55 309

原创 【第39天|动态规划2|62.不同路径 ● 63. 不同路径 II】

【代码】【第39天|动态规划2|62.不同路径 ● 63. 不同路径 II】

2023-05-27 10:01:00 335

原创 【第38天| 动态规划1| 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯】

【代码】【第38天| 动态规划1| 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯】

2023-05-26 16:28:34 181

原创 【第37天| 贪心6| 738.单调递增的数字 ● 968.监控二叉树 】

【代码】【第37天| 贪心6| 738.单调递增的数字 ● 968.监控二叉树 】

2023-05-26 15:59:30 216

原创 【第36天| 贪心5| ● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间】

【代码】【第36天| 贪心5| ● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间】

2023-05-25 10:37:49 155

原创 【第35天| 贪心4| ● 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球】

【代码】【第35天| 贪心4| ● 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球】

2023-05-24 20:47:45 156

原创 【第34天| 贪心3| 1005.K次取反后最大化的数组和 ● 134. 加油站 ● 135. 分发糖果 】

【代码】【第34天| 贪心3| 1005.K次取反后最大化的数组和 ● 134. 加油站 ● 135. 分发糖果 】

2023-05-24 20:16:34 148

原创 【第32天| 贪心2| ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II】

【代码】【第32天| 贪心2| ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II】

2023-05-22 10:17:18 148

原创 【第31天| 贪心算法1|● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和】

【代码】【第31天| 贪心算法1|● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和】

2023-05-22 09:52:05 156

原创 【第30天| 回溯6| ● 51. N皇后 ● 37. 解数独 】

【代码】【第30天| 回溯6| ● 51. N皇后 ● 37. 解数独 】

2023-05-19 09:38:02 156

原创 【第29天|回溯5|* 491.递增子序列 * 46.全排列 * 47.全排列 II】

【代码】【第29天|回溯5|* 491.递增子序列 * 46.全排列 * 47.全排列 II】

2023-05-18 20:12:09 159

原创 【第28天| 回溯4| ● 93.复原IP地址 ● 78.子集 ● 90.子集II 】

【代码】【第28天| 回溯4| ● 93.复原IP地址 ● 78.子集 ● 90.子集II 】

2023-05-17 20:08:03 149

原创 【回溯3| 39. 组合总和 40.组合总和II 131.分割回文串】

【代码】【回溯3| 39. 组合总和 40.组合总和II 131.分割回文串】

2023-05-16 15:58:26 159

原创 【第25天| 回溯2| 216.组合总和III 17.电话号码的字母组合】

【代码】【第25天| 回溯2| 216.组合总和III 17.电话号码的字母组合】

2023-05-13 09:51:40 228

原创 【第23天| 二叉树9|669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树】

【代码】【第23天| 二叉树9|669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树】

2023-05-12 20:18:47 150

原创 【第24天| 回溯1| 77.组合】

【代码】【第24天| 回溯1| 77.组合】

2023-05-12 19:44:56 153

原创 【第22天| 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点】

因为是搜索树,所以p,q的公共祖先一定是p,q中间值。从上往下遍历寻找祖先,第一个处于p,q中间值的节点就是p,q的公共祖先。如果当前节点值大于p,q就往左递归,寻找p,q之间值的节点。相反如果小于p,q,就往右递归,寻找p,q之间值的节点。如果当前值恰好是p,q之间的值就前序遍历,第一次遇到p,q中间值就返回当前节点。

2023-05-12 16:31:27 163

原创 【第21天| 二叉树7| ● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先 】

per指针指向上一个节点。在中节点判断上root的值和per的值是否相等。例外用变量cnt记录相等的次数。per指针指向上一个节点。在中节点求当前节点root和前一个节点pre的差值。用一个int变量记录遍历过程中的最小差值。对于情况2,在后序遍历过程中,只要遇到了p或q就直接返回p或q就行。最后到根节点,一定是一边为空,一边不为空。对于情况1: 如果在遍历过程中遇到左右孩子返回节点都不为空的就返回当前节点。情况2:p是q的孩子,或q是p的孩子。情况1:p和q分别为某一节点的孩子。

2023-05-11 20:39:04 158

原创 【第20天|二叉树6| ● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树】

【代码】【第20天|二叉树6| ● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树】

2023-05-10 16:31:52 158

空空如也

空空如也

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

TA关注的人

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