- 博客(70)
- 收藏
- 关注
原创 【工厂模式】
工厂模式(Factory Pattern)是一种创建对象的设计模式,它提供了一种封装对象创建过程的方式,以便于客户端代码使用抽象接口来创建对象,而无需关心具体的对象实现类。工厂模式的核心思想是。也就是说, 工厂可以生产产品,而客户只需要调用工厂提供的接口得到想要的产品。
2023-07-09 17:36:34
188
原创 关于开源项目 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
原创 【第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
原创 【第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
原创 【第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
原创 【第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
原创 【第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关注的人