自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(122)
  • 资源 (1)
  • 收藏
  • 关注

原创 一文搞懂C++ 实现MySQL插入数据到表中时 insert into 失败的可能原因及问题解决

本文分析了C++ 实现MySQL插入数据到表中时 insert into 失败的可能原因以及问题解决的方法

2023-05-18 23:19:55 1018

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之738. 单调递增的数字(贪心算法系列第十五篇)

LeetCode刷题复盘笔记—一文搞懂贪心算法之738. 单调递增的数字(贪心算法系列第十五篇)1]减一,strNum[i]赋值9,这样这个整数就是89。就可以很自然想到对应的贪心解法了。想到了贪心,还要考虑遍历顺序,只有从后向前遍历才能重复利用上次比较的结果。最后代码实现的时候,也需要一些技巧,例如用一个flag来标记从哪里开始赋值9。

2023-02-20 23:39:08 266

原创 LeetCode刷题复盘笔记—一文搞懂剑指 Offer 40. 最小的k个数(剑指offer系列第一篇)

LeetCode刷题复盘笔记—一文搞懂剑指 Offer 40. 最小的k个数(剑指offer系列第一篇)O(nlogk),k就是题目中的k——代表要实时维护的小顶堆元素个数是k,每次插入删除一个数都是O(logk) 的时间复杂度,最多插入n个数,所以是O(nlogk

2023-02-18 23:51:33 436

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之56. 合并区间(贪心算法系列第十四篇)

LeetCode刷题复盘笔记—一文搞懂贪心算法之56. 合并区间(贪心算法系列第十四篇)种写法就行!但这道题目本质上还是区间重叠问题的加强版

2023-02-18 23:42:14 379

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之763.划分字母区间(贪心算法系列第十三篇)

LeetCode刷题复盘笔记—一文搞懂贪心算法之763.划分字母区间(贪心算法系列第十三篇)用最远出现距离模拟了圈字符的行为。但这道题目的思路是很巧妙的,所以有必要介绍给大家做一做,感受一下。

2023-02-17 23:33:13 405

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之452. 用最少数量的箭引爆气球(贪心算法系列第十一篇)

LeetCode刷题复盘笔记—一文搞懂贪心算法之452. 用最少数量的箭引爆气球(贪心算法系列第十一篇)模拟射气球的过程,很多同学真的要去模拟了,实时把气球从数组中移走,这么写的话就复杂了。而且寻找重复的气球,寻找重叠气球最小右边界,其实都有代码技巧。贪心题目有时候就是这样,看起来很简单,思路很直接,但是一写代码就感觉贼复杂无从下手。欢迎大家关注本人公众号:编程复盘与思考随笔(关注后可以免费获得本人在csdn发布的资源源码)

2023-02-16 23:23:50 127

原创 LeetCode经典问题总结笔记—一文搞懂双指针实现字符串分割之165. 比较版本号问题(第二篇)

LeetCode经典问题总结笔记—一文搞懂双指针实现字符串分割之165. 比较版本号问题(第二篇)等才继续向后遍历,重复上述操作。仅当同时遍历完 v1/v2 ,两个版本号相等,返回 0提示 : 双指针的右指针 a 指向v1 , b 指向v2 ,用于确定断点右侧的数字字符串长度。当一次遍历发现双指针的左右指针相等,说明该字符串遍历完成,它的后续版本记作 0,和遍历未完成的字符串的后续版本做比较。提示 : stoi 函数帮我们去除了前导 0。

2023-02-10 00:49:53 327

原创 LeetCode经典问题总结笔记—一文搞懂滑动窗口和哈希表结合使用之3. 无重复字符的最长子串问题(第一篇)

LeetCode经典问题总结笔记—一文搞懂滑动窗口和哈希表结合使用之3. 无重复字符的最长子串问题(第一篇)道题一个基本思路就是如果窗口右边界在右移时新进入窗口的字符和原窗口字符出现重复时,则左边界循环右移同时把出窗口的字符从哈希表中删除掉,直至没有重复字符左边界停止右移。并且还给出了滑动窗口和哈希表的优化解法,就是使用哈希unordered_map来存储滑动窗口中字符和其对应的下标,这样当窗口右边界在右移时新进入窗口的字符和原窗口字符出现重复时,则。

2023-02-10 00:39:02 346

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之406. 根据身高重建队列问题(贪心算法系列第十篇)

LeetCode刷题复盘笔记—一文搞懂贪心算法之406. 根据身高重建队列问题(贪心算法系列第十篇)一边然后贪心另一边,两边一起考虑,就会顾此失彼。这道题目可以说比135. 分发糖果问题难不少,其贪心的策略也是比较巧妙。最后我给出了两个版本的代码,可以明显看是使用C++中的list(底层链表实现)比vector(数组)效率高得多。对使用某一种语言容器的使用,特性的选择都会不同程度上影响效率。编程语言中一个普通容器的insert,delete的使用,都可能对写出来的算法的有很大影响!

2023-02-07 23:57:27 108

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之135. 分发糖果问题(贪心算法系列第八篇)

LeetCode刷题复盘笔记—一文搞懂贪心算法之135. 分发糖果问题(贪心算法系列第八篇)这在leetcode上是一道困难的题目,其难点就在于贪心的策略,如果在考虑局部的时候想两边兼顾,就会顾此失彼。那么本题我采用了两次贪心的策略:一次是从左到右遍历,只比较右边孩子评分比左边大的情况。一次是从右到左遍历,只比较左边孩子评分比右边大的情况。这样从局部最优推出了全局最优,即:相邻的孩子中,评分高的孩子获得更多的糖果。

2023-02-06 23:57:08 138

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之860. 柠檬水找零问题(贪心算法系列第九篇)

LeetCode刷题复盘笔记—一文搞懂贪心算法之860. 柠檬水找零问题(贪心算法系列第九篇)咋眼一看好像很复杂,分析清楚之后,会发现逻辑其实非常固定。这道题目可以告诉大家,遇到感觉没有思路的题目,可以静下心来把能遇到的情况分析一下,只要分析到具体情况了,一下子就豁然开朗了。如果一直陷入想从整体上寻找找零方案,就会把自己陷进去,各种情况一交叉,只会越想越复杂了。

2023-02-05 00:44:17 82

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之134. 加油站问题(贪心算法系列第七篇)

对于本题暴力解法模拟跑一圈的过程时间复杂度是On2O(n^2)On2的,贪心的精髓,就是用局部最优可以推出全局最优,进而求得起始位置。

2023-02-02 00:32:11 337

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之1005. K 次取反后最大化的数组和问题(贪心算法系列第六篇)

贪心的题目如果简单起来,会让人简单到开始怀疑:本来不就应该这么做么?这也算是算法?我认为这不是贪心?本题其实很简单,不会贪心算法的同学都可以做出来,但是我还是全程用贪心的思路来讲解。因为贪心的思考方式一定要有!如果没有贪心的思考方式(局部最优,全局最优),很容易陷入贪心简单题凭感觉做,贪心难题直接不会做,其实这样就锻炼不了贪心的思考方式了。所以明知道是贪心简单题,也要靠贪心的思考方式来解题,这样对培养解题感觉很有帮助。

2023-01-29 23:35:45 293

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之45. 跳跃游戏 II问题(贪心算法系列第五篇)

LeetCode刷题复盘笔记—一文搞懂贪心算法之45. 跳跃游戏 II问题(贪心算法系列第五篇)本题的关键在于:以最小的步数增加最大的覆盖范围,直到覆盖范围覆盖了终点,这个范围内最小步数一定可以跳到,不用管具体是怎么跳的,不纠结于一步究竟跳一个单位还是两个单位。欢迎大家关注本人公众号:编程复盘与思考随笔(关注后可以免费获得本人在csdn发布的资源源码)

2023-01-25 23:02:54 449

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之55. 跳跃游戏问题(贪心算法系列第四篇)

LeetCode刷题复盘笔记—一文搞懂贪心算法之55. 跳跃游戏问题(贪心算法系列第四篇)管是怎么跳的。大家可以看出思路想出来了,代码还是非常简单的。一些同学可能感觉,在讲贪心系列的时候,题目和题目之间貌似没有什么联系?是真的就是没什么联系,因为贪心无套路!没有个整体的贪心框架解决一系列问题,只能是接触各种类型的题目锻炼自己的贪心思维!

2023-01-20 23:09:56 1331

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之122. 买卖股票的最佳时机 II问题(贪心算法系列第三篇)

LeetCode刷题复盘笔记—一文搞懂贪心算法之122. 买卖股票的最佳时机 II问题(贪心算法系列第三篇)问题的系统性解法,所以使用动态规划算法解决股票问题使用动态规划算法解决122. 买卖股票的最佳时机 II问题必须要掌握!这篇文章可以看出有时候,贪心往往比动态规划更巧妙,更好用,所以别小看了贪心算法。本题中理解利润拆分是关键点!不要整块的去看,而是把整体利润拆为每天的利润。一旦想到这里了,很自然就会想到贪心了,即:只收集每天的正利润,最后稳稳的就是最大利润了。

2023-01-19 00:09:12 1501 1

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之376. 摆动序列问题(贪心算法系列第二篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之376. 摆动序列问题(贪心算法系列第二篇)到最长摆动子序列的过程,那指定绕里面去了,一时半会拔不出来。而这道题目有什么技巧说一下子能想到贪心么?其实也没有,类似的题目做过了就会想到。此时大家就应该了解了:保持区间波动,只需要把单调区间上的元素移除就可以了

2023-01-15 00:08:18 126

原创 数据结构与算法课题目复盘笔记—一文搞懂求n次方根问题(吃透浮点数二分问题)

数据结构与算法课题目复盘笔记—一文搞懂求n次方根问题(吃透浮点数二分问题)是多动手写!遇到n次方根问题(浮点数二分问题)只要按照上面的思路和代码模板,根据题目稍加改动就可以解决了!!!

2023-01-14 00:27:52 296

原创 LeetCode刷题复盘笔记—一文搞懂贪心算法之455. 分发饼干问题(贪心算法系列第一篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之455. 分发饼干问题(贪心算法系列第一篇)这道题是贪心很好的一道入门题目,思路还是比较容易想到的。文中详细介绍了思考的过程,想清楚局部最优,想清楚全局最优,感觉局部最优是可以推出全局最优,并想不出反例,那么就试一试贪心

2023-01-12 00:47:51 163

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之516. 最长回文子序列问题(动态规划系列第四十三篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之516. 最长回文子序列问题(动态规划系列第四十三篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组本题和647. 回文子串问题与5. 最长回文子串问题相比基本差不多。

2023-01-10 23:57:44 231

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之647. 回文子串问题(动态规划系列第四十二篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之647. 回文子串问题(动态规划系列第四十二篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组本题提供了两种动态规划的思路解法:解法一和。

2023-01-10 00:06:55 103

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之72. 编辑距离问题(动态规划系列第四十一篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之72. 编辑距离问题(动态规划系列第四十一篇)这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2023-01-07 00:00:53 191

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之583. 两个字符串的删除操作问题(动态规划系列第四十篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之583. 两个字符串的删除操作问题(动态规划系列第四十篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组本题提供了两种动态规划的思路解法:解法一和。

2023-01-05 23:11:43 252

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之115. 不同的子序列问题(动态规划系列第三十九篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之115. 不同的子序列问题(动态规划系列第三十九篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组这道题目如果不是子序列,而是要求连续序列的,那就可以考虑用KMP。

2023-01-03 00:58:33 103 1

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之392. 判断子序列问题(动态规划系列第三十八篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之392. 判断子序列问题(动态规划系列第三十八篇)这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组这道题本质上是一文搞懂动态规划之1143. 最长公共子序列问题。

2023-01-01 22:44:35 206

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之338. 比特位计数(剑指 Offer II 003. 前 n 个数字二进制中 1 的个数)问题(动态规划系列第三十七篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之338. 比特位计数(剑指 Offer II 003. 前 n 个数字二进制中 1 的个数)问题(动态规划系列第三十七篇)table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2022-12-31 22:12:47 95

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之152. 乘积最大子数组问题(动态规划系列第三十六篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之152. 乘积最大子数组问题(动态规划系列第三十六篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2022-12-30 23:45:25 997 1

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之53. 最大子数组和问题(动态规划系列第三十五篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之53. 最大子数组和问题(动态规划系列第三十五篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2022-12-29 23:44:59 807

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之剑指 Offer 46. 把数字翻译成字符串问题(动态规划系列第三十四篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之剑指 Offer 46. 把数字翻译成字符串问题(动态规划系列第三十四篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2022-12-28 23:25:49 252

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之1035. 不相交的线问题(动态规划系列第三十三篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之1035. 不相交的线问题(动态规划系列第三十三篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2022-12-26 23:41:09 123

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之1143. 最长公共子序列问题(动态规划系列第三十二篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之1143. 最长公共子序列问题(动态规划系列第三十二篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组一文搞懂动态规划之718. 最长重复子数组问题。

2022-12-25 23:15:48 134

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之718. 最长重复子数组问题(动态规划系列第三十一篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之718. 最长重复子数组问题(动态规划系列第三十一篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组注意题目中说的子数组,其实就是连续子序列。

2022-12-24 00:41:32 889

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之674. 最长连续递增序列问题(动态规划系列第三十篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之674. 最长连续递增序列问题(动态规划系列第三十篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2022-12-22 23:48:44 632

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之132. 分割回文串 II问题(动态规划系列第二十九篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之132. 分割回文串 II问题(动态规划系列第二十九篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组这篇文章主要总结了使用动态规划解决132. 分割回文串 II问题,

2022-12-22 00:42:31 70

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之673. 最长递增子序列的个数问题(动态规划系列第二十八篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之673. 最长递增子序列的个数问题(动态规划系列第二十八篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2022-12-20 23:56:37 90

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之300. 最长递增子序列问题(动态规划系列第二十七篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之300. 最长递增子序列问题(动态规划系列第二十七篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2022-12-20 00:43:07 211

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之714. 买卖股票的最佳时机含手续费问题(所有股票问题总结)(动态规划系列第二十六篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之714. 买卖股票的最佳时机含手续费问题(所有股票问题总结)(动态规划系列第二十六篇)状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2022-12-19 00:04:46 69

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之5. 最长回文子串问题(动态规划系列第二十五篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之5. 最长回文子串问题(动态规划系列第二十五篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2022-12-17 23:47:05 534

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之309. 最佳买卖股票时机含冷冻期问题(动态规划系列第二十四篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之309. 最佳买卖股票时机含冷冻期问题(动态规划系列第二十四篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2022-12-16 23:46:30 696

原创 LeetCode刷题复盘笔记—一文搞懂动态规划之188. 买卖股票的最佳时机 IV问题(动态规划系列第二十三篇)

LeetCode刷题复盘笔记—一文搞懂动态规划之188. 买卖股票的最佳时机 IV问题(动态规划系列第二十三篇)的。动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的对于动态规划问题,可以拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组。

2022-12-15 23:40:54 270

数据结构与算法实验综合实验题:高铁订票系统 大作业数据表格 源代码,参考示例和文档

高铁订票系统资源描述 内容概要: 本资源包含高铁订票系统的综合实验题所需的数据表格、源代码、参考示例和文档。该系统旨在模拟真实的高铁订票流程,包括用户注册、登录、车票查询、订票、支付、取消订单等功能。数据表格用于存储用户信息、车次信息、订单信息等;源代码则实现了系统的核心功能和用户交互界面;参考示例提供了代码实现的具体案例;文档则详细说明了系统的设计和实现细节。 适用人群: 本资源适用于计算机科学、软件工程、数据科学与大数据技术等相关专业的本科生和研究生,以及对此类系统开发感兴趣的编程爱好者。它既可以作为数据结构与算法课程的实验项目,也可以作为软件开发课程的实践项目。 使用场景及目标: 实验项目:学生可以通过本项目实践数据库操作、网络编程、用户界面设计等技能,加深对数据结构与算法的理解和应用。 课程作业:教师可以将本项目作为课程作业的一部分,要求学生在规定时间内完成系统的设计和实现。 实践项目:编程爱好者可以将其作为个人实践项目,通过实际开发提升编程能力和解决实际问题的能力。 通过本项目,学生或爱好者可以掌握高铁订票系统的基本架构和开发流程,为未来的学习和工作打下坚实的基础

2024-05-16

在公交软件上查询出学校区域的公共自行车点,用线性表存储相关信息 再构造一个图,把这些公共自行车点作为顶点,通过查找最短(最优路径

公共自行车停放点信息查询及导航【问题陈述】公共自行车是为方便广大市民出行推行的绿色出行便民政策,但在使用中经常会遇到骑行无车,停靠无空位的情况,本设计就是模拟一个公共自行车停靠信息的查阅,并为客户提供最近停靠点的推荐。【基本要求】以学校周边为例,把所有公共自行车停靠点的信息进行管理,能够按照大约的地理位置进行查询。此外以用户当前位置为用户提供最近的停靠点和路线。【实现提示】在公交软件上查询出学校区域的公共自行车点,用线性表存储相关信息。再构造一个图,把这些公共自行车点作为顶点,通过查找最短(最优路径)为用户推荐停靠点。 在公交软件上查询出学校区域的公共自行车点,用线性表存储相关信息。再构造一个图,把这些公共自行车点作为顶点,通过查找最短(最优路径)为用户推荐停靠点。 在公交软件上查询出学校区域的公共自行车点,用线性表存储相关信息。再构造一个图,把这些公共自行车点作为顶点,通过查找最短(最优路径)为用户推荐停靠点。 在公交软件上查询出学校区域的公共自行车点,用线性表存储相关信息。再构造一个图,把这些公共自行车点作为顶点,通过查找最短(最优路径)为用户推荐停靠点。 在公交软件上查询出学校区

2024-03-16

python实现计算器功能的界面,pyqt5,1 表达式处理 计算器使用两个栈,char-stack 用于运算符,num-sta

1 表达式处理 计算器使用两个栈,char_stack 用于运算符,num_stack 用于数字,以处理用户输入的表达式程序跟踪当前表达式、顶部运算符 (char_top)、顶部数字 (num_top) 和结果 (res )。表达式是根据用户输入逐步构建和评估的。 2 运算符优先级 计算器遵循一个优先级映射 (priority_map ),以确定何时执行计算。这有助于处理用户输入一系列运算符而未按等号的情况 3 错误处理 程序检查除零和其他计算错误。如果发生错误,显示将显示一1 表达式处理 计算器使用两个栈,char_stack 用于运算符,num_stack 用于数字,以处理用户输入的表达式程序跟踪当前表达式、顶部运算符 (char_top)、顶部数字 (num_top) 和结果 (res )。表达式是根据用户输入逐步构建和评估的。 2 运算符优先级 计算器遵循一个优先级映射 (priority_map ),以确定何时执行计算。这有助于处理用户输入一系列运算符而未按等号的情况 3 错误处理 程序检查除零和其他计算错误。如果发生错误,显示将显示一个“错误”消息 4 等号 (=) 功能

2024-03-16

C++设计并实现一个桌面电话簿软件,使用已学过的动态搜索树结构(BST 或 AVL),包括联系人数据存储、联系人管理、群组管理等

问题要求设计并实现一个桌面电话簿软件,使用已学过的动态搜索树结构(BST 或 AVL)。具体要求如下: 1. 联系人数据存储:支持复式联系人数据的存储,数据条目不少于 1000 条。每个联系人可包括姓名、城市、手机号码、住宅电话号码、办公电话号码、电子邮件、公司、地址、所属群组、备注、添加时间等 11 个字段。 2. 联系人管理:支持联系人记录的添加、删除、编辑等操作。 3. 群组管理:支持群组记录的添加、删除、编辑等操作。 4. 导入导出:支持所有联系人记录的导入、导出操作。外部数据采用 TXT 格式,内部数据采用自己设计的二进制数据文件格式。 5. 灵活查询功能: (1) 逐条翻看:显示所有联系人记录,支持分屏查看。 (2) 多种方式查询:通过城市、添加时间、公司、地址、电子邮件、备注等字段进行灵活查询。 (3) 电话号码查询:输入一个电话号码(手机、住宅、办公)的全部或一部分,显示包含该号码的联系人记录。 (4) 人名查找:输入一个人名(全名、部分名、拼音首字母、部分拼音),显示包含该姓名的联系人记录。 (5) 群组查找:选择一种群组类型,

2024-03-16

GUI 界面的 Hannoi 塔,用户可以通过拖动鼠标移动各个塔上的盘子,程序也可以自动演示盘子的移动过程,Java实现精美界面

一、设计目的 1.复习、巩固 Java 语言的基础知识,进一步加深对 Java 语言的理解和掌握;2.课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;3.培养学生在项目开发中团队合作精神 二、设计任务及内容 1.设计 GUI 界面的 Hannoi 塔,用户可以通过拖动鼠标移动各个塔上的盘子,程序也可以自动演示盘子的移动过程; 2.有三个表示塔的对象,分别命名为 A、B 和 C;3.A 塔上有若干个盘子,盘子的大小不等,并按着大小顺序依次摆放在 A塔上,大盘在下,小盘在上; 4.用户可以用鼠标拖动盘子,把A 塔上的盘子全部移动到另外两个塔中的任何一个塔 5.要求每次只能移动一个盘子,在任何时候不允许大盘压在小盘的上面;6.用户可以选择让程序自动演示。选择自动演示后,程序以动画形式演示把 A 塔上的盘子全部移到C塔的过程,并将移动过程以文本形式显示在一个文本区中;7.程序可以记录每次成功游戏的时间,将 8.应提供一个图形界面(菜单)来实现游戏操作,操作界面应尽可能清晰美观。

2024-03-16

网络编程知识点梳理的思维导图

网络编程知识点梳理的思维导图

2023-02-10

公开课:“excel在数学建模中的运用”的课件和数据

公开课:“excel在数学建模中的运用”的课件和数据

2023-02-10

dbc2protobuf.zip

将canbus .dbc数据文件转换成protobuf协议格式的.py转换中间件 支持遍历文件夹,批量转换dbc数据文件的功能,对于代码使用有什么疑问可以联系我!

2021-06-25

空空如也

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

TA关注的人

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