自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 251211算法 搜索

【代码】251211算法 搜索。

2025-12-23 22:58:10 104

原创 C++ STL库常用容器函数

若键已存在则不插入并返回 pair(指向该键的迭代器, false),否则插入并返回 pair(指向新元素的迭代器, true)。:判断list是否为空,若为空返回 true,否则返回 false。:判断map是否为空,若为空返回 true,否则返回 false。:判断数组是否为空,若为空返回 true,否则返回 false。:判断队列是否为空,若为空返回 true,否则返回 false。:判断栈是否为空,若为空返回 true,否则返回 false。:删除指定键的元素,返回删除的元素数量(0或1)。

2025-12-04 16:18:25 310

原创 数据库ER图

2025-12-03 17:04:01 274

原创 251120 算法 动态规划

【代码】251120 算法 动态规划。

2025-11-20 15:53:55 156

原创 251106 算法

【代码】251106 算法。

2025-11-06 16:15:00 163

原创 251009算法课 排序

【代码】251009算法课 排序。

2025-11-06 15:58:54 113

原创 250911算法练习:递归

【代码】250911算法练习:递归。

2025-09-11 18:47:50 192

原创 mysql笔记03:DQL基础查询,条件查询,聚合函数,分组查询,排序查询,分页查询

2025-08-03 21:54:09 145

原创 mysql笔记02:DML插入、更新、删除数据

DML数据操作语言

2025-07-31 23:12:12 218

原创 Mysql笔记01:mysql启动、通用语法及分类、DDL(数据库操作,表操作,数据类型)

管理员模式打开命令提示符:net start mysql应用里搜mysql,有输入mysql命令的 案例

2025-07-31 13:20:28 206

原创 250619算法期末模拟

【代码】250619算法期末模拟。

2025-06-22 20:52:48 154 1

原创 算法250612期末练习

又到一年一度的期末考试了,老师最头痛的问题就是从一堆学生中找最高分和最低分,你快来帮忙吧。

2025-06-19 15:49:33 211

原创 算法250609 高精度

【代码】算法250609 高精度。

2025-06-09 09:28:06 269

原创 代码随想录算法训练营第52天 | 101.孤岛的总面积 102.沉没孤岛 103.水流问题 104.建造最大岛屿

101.孤岛的总面积101.孤岛的总面积题目理解,周边都是水的孤岛的总面积。

2025-05-27 11:56:41 450

原创 算法 第七章模拟

约瑟夫问题是大家所熟知的。如果你不知道这个问题的话,这里可以简短地描述:给定n个编号依次为1,2,…,n,站成一圈,循环报数,报数到m的人将依次被处决,而且只有最后剩下的一个人可以得救。约瑟夫可以聪明地为自己选择最后剩下的那个位置,以使自己得救,因此才有机会告诉我们这件事。例如,n=6,m=5时,依次被处决的人是:5,4,6,3,2,只有第1个人可以被得救。假设有k个好人和k个坏人,而且在这个圆圈里,前k个人是好人,而后k个人是坏人。你必须选取最小的m值,使得所有的坏人先被处决掉。

2025-05-26 09:00:31 331

原创 代码随想录算法训练营第51天 | 99.岛屿数量 深搜 广搜 100.岛屿的最大面积

岛屿数量深搜岛屿数量深搜。

2025-05-19 17:22:57 223

原创 代码随想录算法训练营第50天 | 图论理论基础 深搜理论基础 98. 所有可达路径 广搜理论基础

一般情况,深搜需要 二维数组数组结构保存所有路径,需要一维数组保存单一路径,这种保存结果的数组,我们可以定义一个全局变量,避免让我们的函数参数过多。如果想表示无向图,即:grid[2][5] = 6,grid[5][2] = 6,表示节点2 与 节点5 相互连通,权值为6。例如: grid[2][5] = 6,表示 节点 2 连接 节点5 为有向图,节点2 指向 节点5,边的权值为6。通常我们递归的时候,我们递归搜索需要了解哪些参数,其实也可以在写递归函数的时候,发现需要什么参数,再去补充就可以。

2025-05-15 23:59:32 978

原创 代码随想录算法训练营第49天 | 42. 接雨水 84.柱状图中最大的矩形

42. 接雨水接雨水这道题目是 面试中特别高频的一道题,也是单调栈 应用的题目,大家好好做做。建议是掌握 双指针 和单调栈,因为在面试中 写出单调栈可能 有点难度,但双指针思路更直接一些。在时间紧张的情况有,能写出双指针法也是不错的,然后可以和面试官在慢慢讨论如何优化。

2025-05-13 20:55:58 233

原创 代码随想录算法训练营第48天 | 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II

用map联系nums1和nums2。496.下一个更大元素 I。503.下一个更大元素II。循环数组通过遍历两遍实现。

2025-05-12 17:22:18 232

原创 250505算法期中练习

对于每个单词,在不改变这些单词之间的顺序下,逆序输出每个单词。这个问题包括多组测试数据。第1行是一个整数M,紧接着是一个空行,然后是M组测试数据,每组数据之间有一个空行。要求输出M个输出块。每个输出块之间有一个空行。

2025-05-06 00:08:30 903

原创 代码随想录算法训练营第46天 | 647. 回文子串 516.最长回文子序列

其他情况dp[i][j]初始为0就行,这样递推公式:dp[i][j] = max(dp[i + 1][j], dp[i][j - 1]);如果s[i]与s[j]不相同,说明s[i]和s[j]的同时加入 并不能增加[i,j]区间回文子序列的长度,那么分别加入s[i]、s[j]看看哪一个可以组成最长的回文子序列。那么dp[i][j]一定是取最大的,即:dp[i][j] = max(dp[i + 1][j], dp[i][j - 1]);加入s[j]的回文子序列长度为dp[i + 1][j]。

2025-03-31 18:37:45 280

原创 代码随想录算法训练营第45天 | 115.不同的子序列 583. 两个字符串的删除操作 72. 编辑距离

从递推公式dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];中可以看出dp[i][j] 是从上方和左上方推导而来,如图:,那么 dp[i][0] 和dp[0][j]是一定要初始化的。当s[i - 1] 与 t[j - 1]不相等时,dp[i][j]只有一部分组成,不用s[i - 1]来匹配(就是模拟在s中删除这个元素),即:dp[i - 1][j]dp[i][j]:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]。115.不同的子序列。

2025-03-30 23:01:23 395

原创 代码随想录算法训练营第44天 | 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 392.判断子序列

如果text1[i - 1] 与 text2[j - 1]不相同,那就看看text1[0, i - 2]与text2[0, j - 1]的最长公共子序列 和 text1[0, i - 1]与text2[0, j - 2]的最长公共子序列,取最大的。dp[i][j]:长度为[0, i - 1]的字符串text1与长度为[0, j - 1]的字符串text2的最长公共子序列为dp[i][j]即:dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);1035.不相交的线。

2025-03-28 23:27:22 223

原创 代码随想录算法训练营第43天 | 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

因为可以不连续,j要从前往后都遍历一遍。nums[i] == nums[j] 时 ,左上角的数加一想到了,没有想到要初始化列。dp数组代表:以nums[i]为末尾的最长递增子序列的长度。随想录的,不用初始化行和列,初始化直接全部赋零。674. 最长连续递增序列。连续,只需要考虑前面一个元素。718. 最长重复子数组。300.最长递增子序列。300.最长递增子序列。

2025-03-27 22:57:12 203

原创 算法250327题目

给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号,隔开。现在请计算A+B的结果,并以正常形式输出。

2025-03-27 21:54:10 298

原创 代码随想录算法训练营第42天 | 188.买卖股票的最佳时机IV 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费

本题是123.买卖股票的最佳时机III 的进阶版 视频讲解:动态规划来决定最佳时机,至多可以买卖K次!| LeetCode:188.买卖股票最佳时机4_哔哩哔哩_bilibili代码随想录自己思路:交易k次就有2k种情况二维数组一维数组309.最佳买卖股票时机含冷冻期 309. 买卖股票的最佳时机含冷冻期 - 力扣(LeetCode)视频讲解:动态规划来决定最佳时机,这次有冷冻期!| LeetCode:309.买卖股票的最佳时机含冷冻期_哔哩哔哩_bilibili代码随想录714.买卖

2025-03-26 21:58:13 307

原创 代码随想录算法训练营第41天 | 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II 123.买卖股票的最佳时机III

121. 买卖股票的最佳时机121. 买卖股票的最佳时机。

2025-03-26 19:03:10 203

原创 代码随想录算法训练营第39天 | 198.打家劫舍 213.打家劫舍II 337.打家劫舍III

如果不偷当前节点,那么左右孩子就可以偷,至于到底偷不偷一定是选一个最大的,所以:val2 = max(left[0], left[1]) + max(right[0], right[1]);如果是偷当前节点,那么左右孩子就不能偷,val1 = cur->val + left[0] + right[0];即:{不偷当前节点得到的最大金钱,偷当前节点得到的最大金钱}递推公式:dp[i] = Math.max(dp[i - 2] + nums[i],dp[i - 1]);337.打家劫舍III。

2025-03-24 22:14:51 356

原创 代码随想录算法训练营第38天 | 322. 零钱兑换 279.完全平方数 139.单词拆分 背包问题总结

322. 零钱兑换322. 零钱兑换如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外层for遍历背包,内层for循环遍历物品。。279.完全平方数139.单词拆分dp[i]代表,数组元素是否能够组成长度为i时的s完全背包,正序遍历对顺序有要求,先背包再物品递推公式:若前面的字符串可以被组合出来,同时后面的字符串也在数组元素里break;初始化:dp[0] = true;关于多重背包,你该了解这些!背包问题总结。

2025-03-23 22:57:55 1448

原创 代码随想录算法训练营第37天 | 完全背包 518. 零钱兑换 II 377. 组合总和 Ⅳ 70. 爬楼梯 (进阶)

完全背包完全背包背包容量正序遍历,可以重复取之前的物品,完全背包倒序遍历,之前的值还是初始化的值,只能取一次物品,01背包518. 零钱兑换 II。

2025-03-21 20:17:20 320

原创 代码随想录算法训练营第36天 | 1049. 最后一块石头的重量 II 494. 目标和 474.一和零

dp[i][j] = Math.max(dp[i][j],dp[i - zeroNum][j - oneNum] + 1) dp[i][j]没放物品i的子集个数。相减之后得到的重量最小。递推公式dp[j] = dp[j] + dp[j - nums[i]];dp[j] 没放i的种类数 dp[j - nums[i]]放了i的种类数。dp[i - zeroNum][j - oneNum] + 1 放了物品i的子集个数,放了i所以子集个数加一。递推公式:dp[j] += dp[j - nums[i]]

2025-03-19 23:04:05 385

原创 代码随想录算法训练营第35天 | 01背包问题 二维 一维 416. 分割等和子集

递推公式:dp[i][j] = Math.max(dp[i - 1][j] , dp[i - 1][j - space[i]] + value[i]);放i和不放i哪个价值最大。//如果i的体积比j大,不能放i。dp[i][j]数组含义:从0-i物品中任取,放入容量为j的背包中时,最大的价值。nums[i]既是空间又是价值。本题是 01背包的应用类题目。416. 分割等和子集。

2025-03-19 18:10:09 284

原创 代码随想录算法训练营第34天 | 62.不同路径 63. 不同路径 II 整数拆分 不同的二叉搜索树 (跳过)

初始化:n - 1列 m - 1行,从左向右从上到下找到最后一个出现的障碍,障碍和之前的dp都是0。递推公式:dp[i][j] = dp[i - 1][j] + dp[i][j - 1];递归公式:dp[i][j] = dp[i + 1][j] + dp[i][j + 1];初始化第一行第一列,没有障碍物赋1,只要遇到一个障碍物就赋0,后面都是0。随想录的,dp的含义是从00到该目标位置有几种走法,从左向右遍历。初始化:dp[i][1] = 1 dp[1][i] = 1。63. 不同路径 II。

2025-03-17 22:58:52 482

原创 代码随想录算法训练营第32天 | 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

递推公式:dp[i] = cost[i] + Math.min(dp[i + 1],dp[i + 2]);递推公式:dp[i] = Math.min(dp[i - 1] + cost[i - 1],dp[i - 2] + cost[i - 2]);初始化:dp[len - 1] = cost[len - 1];3级台阶:1.上一级台阶(1种),再走2步 2.上2级台阶(2种),再走1步 1+2。dp含义:dp[i]表示从i层开始,到顶层的最小花费。

2025-03-16 23:05:47 397

原创 代码随想录算法训练营第31天 | 56. 合并区间 738.单调递增的数字 968.监控二叉树

738.单调递增的数字。

2025-03-15 22:27:46 324

原创 代码随想录算法训练营第30天 | 452. 用最少数量的箭引爆气球 435. 无重叠区间 763.划分字母区间

自己写的,左边界找左边界的最大值(其实就是),右边界找右边界的最小值,如果合法就是重叠区间。452. 用最少数量的箭引爆气球。452. 用最少数量的箭引爆气球。435. 无重叠区间。763.划分字母区间。

2025-03-13 23:08:03 245

原创 java 250313上课练习

【代码】java 250313上课练习。

2025-03-13 20:16:15 106

原创 代码随想录算法训练营第29天 | 134. 加油站 135. 分发糖果 860.柠檬水找零 406.根据身高重建队列

本题涉及到一个思想,就是想处理好一边再处理另一边,不要两边想着一起兼顾,后面还会有题目用到这个思路。本题有点难度,和分发糖果类似,不要两头兼顾,处理好一边再处理另一边。再从右往左遍历,左比右大就比右边的值多1,取最大值。先从左往右遍历,右比左大就赋值2,其他赋值1。付20优先找10+5,然后找3*5。406.根据身高重建队列。

2025-03-12 23:13:13 307

原创 代码随想录算法训练营第28天 | 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II 1005.K次取反后最大化的数组和

122.买卖股票的最佳时机II计算每个数之间的差值,差值是正的就加到sum里,是负数就先把sum里的数加给result,然后把sum清空。最后循环结束时如果sum是正的,要把sum加到result里面55. 跳跃游戏。

2025-03-11 23:14:00 279

原创 代码随想录算法训练营第27天 | 分发饼干 摆动序列 最大子序和

连续和为负数时,后面一个数如果更大,就可以抛弃到前面的数。result随时记录最大的和。

2025-03-10 23:04:42 146

空空如也

空空如也

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

TA关注的人

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