自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉树 Leetcode 101 对称二叉树

要点:1.比较的是左右子树是否相同,不是节点的左右孩子;2.左子树左右中遍历,右子树右左中遍历;

2024-07-04 22:48:06 278

原创 二叉树 遍历迭代法

【代码】二叉树 遍历迭代法。

2024-06-25 23:32:45 238

原创 栈与队列 Leetcode 144 二叉树的前序遍历

【代码】栈与队列 Leetcode 144 二叉树的前序遍历。

2024-06-25 22:53:21 195

原创 栈与队列 Leetcode 347 前k个高频元素

灵活运用C++库函数,使用匿名函数排序,sort可以替换为快排实现(面试感觉可能会手撕,机考直接使用sort)

2024-06-25 22:14:42 433

原创 栈与队列 Leetcode 239 滑动窗口最大值

要点:1.能想到单调队列,积累技巧;

2024-06-25 00:11:25 275

原创 Lvgl库8.1部分学习记录

lv_img_set_src是LVGL(Light and Versatile Graphics Library)中用于设置图片源的函数。这个函数允许你为一个图像对象设置一个新的图像源,可以是一个二进制数组(存储在内存中的图像数据),也可以是一个文件路径(例如,使用LVGL的文件系统支持从SD卡或Flash中加载图像)。在上述两个例子中,img1是一个图像对象,我们分别为其设置了一个新的图片源。第一个例子中图片源是一个文件路径,第二个例子中图片源是一个二进制数组。

2024-06-24 23:39:36 1297

原创 Vscode调试C/C++时无法监视a[i]的值,监视a[i]就崩溃

下载好压缩包后解压即可,并将其bin路径添加到环境变量当中即可。

2024-05-17 00:03:36 432

原创 双指针 Leetcode 151 反转字符串中的单词

法二:原地改变字符串,不利用额外空间。

2024-05-05 23:59:12 346 1

原创 双指针 Leetcode 15 三数之和

要点:1、如果用哈希表则在处理输出数组去重时较复杂;

2024-05-04 18:53:50 436

原创 数组 Leetcode 704 二分查找/Leetcode 59 螺旋矩阵/Leetcode 203移除链表元素

学习记录自二分法模板记忆,数值分析中牛顿迭代法。

2024-04-30 00:03:39 329 4

原创 图论基础知识 并查集/例题

学习记录自。

2024-04-24 18:02:56 582

原创 迪杰斯特拉算法

华为20240417机考。

2024-04-24 16:59:12 219

原创 图论基础知识 深度优先(Depth First Search, 简称DFS),广度优先(Breathe First Search, 简称BFS)

学习记录自。

2024-04-22 23:47:18 998

原创 美团笔试【硬件开发方向】

修改字母只能每次加1,都是小写字母,输入操作k次,问能否恰好k次将字符s修改为和字符串t相同。

2024-04-20 12:50:52 645 1

原创 八股文 C++ 关键字define/typedef define/inline const/define constexpr new和malloc constexpr volatile extern

1.简单的替换,没有类型检查;2.在预处理阶段起作用;3.可用来防止头文件重复利用;4.不分配内存,有多少次使用就进行多少次替换。

2024-04-17 14:32:34 640

原创 八股文 C++ 关键字 const/static

其修饰值不能改变,是只读的。必须在定义的时候就给它赋初值。1、常量指针:指针指向的对象不能修改,是只读的。形式:*靠近变量名2、指针常量:指针对象本身不能改变,即指针存储的地址是只读的不能改变。形式:*靠近变量数据类型。

2024-04-17 01:04:48 222

原创 芯片知识杂记

"锁步核"或"锁步运行"是在高可靠性和高安全性计算系统中常见的一种处理器设计。在这种模式下,至少两个处理器(或核心)同时执行相同的操作,即他们以"锁步"方式工作。:每个核心独立地执行相同的指令,因此,如果一个核心出现故障或错误,另一个可以立即接管,这有助于提高系统的稳定性和可靠性。:由于两个核心都在执行相同的操作,因此如果其中一个核心由于误操作或程序错误而产生不正确的结果,则该结果可以被另一核心的正确结果所校验和纠正。

2024-04-13 17:11:45 750

原创 Latex公式输入杂项记录

在 LaTeX 中,由于 { 和 } 作为特殊字符被用于标记命令和作用域,如果你想在数学模式中打印出这两个字符,则需要在其前面添加反斜杠 \ 进行“转义”。具体来说,{ 用于生成 {,} 用于生成 }。换句话说,{ 和 } 是被“转义”的 { 和 },可以在 LaTeX 的数学模式下直接显示。如果你想在非数学模式下打印 { 或 },你同样需要使用 { 和 }。\left | \right | |代表两个||只要左边,右边变成点。

2024-04-10 23:49:53 206

原创 牛客 计算某字符出现次数

要点:1.大写字母ASCII码65开始,小写97开始;2.或者用库函数tolower©:tolower©是一个标准库函数,它是C++中库的一部分。这个函数接受一个字符(大写或小写)作为输入,如果输入字符为大写字母,则将其转换为小写字母。小写字母和非字母字符在调用这个函数后保持不变。这也就是说,这个函数返回输入字符对应的小写版本。

2024-04-10 23:49:23 409

原创 动态规划 Leetcode 516 最长回文子序列

2.递推公式:if(s[i] == s[j]) dp[i][j] = dp[i+1][j-1]+2;要点:1.dp数组定义为:dp[i][j]为区间是s[i:j]内最长回文子序列;4.遍历顺序:for(int i = n-2;3.dp数组初始化dp[i][i] = 1, 其余为0。

2024-04-04 19:35:18 218

原创 动态规划 Leetcode 647 回文子串

要点:1.dp[i][j]定义为以区间s[i:j]是否为回文,是为true,否则为false;3.遍历时注意方向和起始值for(int i = n-1;2.递推公式(递推方法:从中间往两边递推):if(s[i]==s[j])

2024-04-04 19:00:23 343

原创 动态规划 Leetcode 72 编辑距离

else dp[i][j] = min(dp[i-1][j]+1, min(dp[i][j-1]+1, dp[i-1][j-1]+1))删除word1[i-1],删除word2[j-1],(插入和删除相同), 替换。要点:1.dp数组定义:dp[i][j]以word1[i-1]结尾时将其转换为word2[0:j-1]需要的最少操作数;2.递推公式:if(word1[i-1] == word2[j-1]) dp[i][j] = dp[i-1][j-1]j++) dp[0][j] = j;

2024-04-04 17:50:14 363

原创 动态规划 Leetcode 583 两个字符串的删除操作

else dp[i][j] = min(dp[i][j-1]+1, min(dp[i-1][j]+1,dp[i-1][j-1]+2) (删除word1[i-1],删除word2[j-1],或者同时删除)dp[i][j-1] = dp[i-1][j-1]+1所以可以简化为else dp[i][j] = min(dp[i][j-1]+1, dp[i-1][j]+1)2.递推公式:if(word1[i-1] == word2[j-1]) dp[i][j] = dp[i-1][j-1]

2024-04-04 16:50:56 220

原创 动态规划 Leetcode 115 不同的子序列

2.dp数组定义时元素类型为uint64_t/uint32_t,因为int为有符号数范围为-2147483648 到 2147483647,小于部分测试用例的结果;3.dp数组初始化for(int i = 0;要点:1.dp[i][j]含义为以是s[i-1]结尾时s中t[0:j-1]的个数;

2024-04-04 16:00:32 261

原创 动态规划 Leetcode 392 判断子序列

要点:1.dp[i]以nums[i-1]结尾时最大子数组和,此时不用初始化dp[0]为nums[0],如果为nums[i]结尾则需要初始化;2.递推公式: dp[i] = max(nums[i-1], dp[i-1] + nums[i-1]);3.返回的是dp的最大值。

2024-04-03 15:29:58 273

原创 动态规划 Leetcode 1035 不相交的线

要点:1.dp[i][j]定义为长度为nums1[0:i-1]和nums2[0:j-1]时最大连线数,此时dp数组初始化为0即可;2.递推公式if(nums1[i-1]==nums2[j-1]) dp[i][j] = dp[i-1][j-1] + 1。

2024-04-03 14:18:51 294

原创 动态规划 Leetcode 1143 最长公共子序列

dp数组定义不同结果不同,如果定义为dp数组dp[i][j]含义为以text1[i]结尾和以text2[j]结尾时最大的公共子序列长度则会超时(超时方法),定义为dp数组dp[i][j]含义为以长度为[0,i]的text1和长度为[0,j]的text2最大的公共子序列长度则可以通过,区别主要在递推公式上;

2024-04-02 01:12:20 225

原创 动态规划 Leetcode 718 最长重复子数组

要点:1.想到dp数组二维表达的含义;2.想到正确初始化dp数组,3.两层遍历都要从0开始;

2024-04-01 00:27:15 1217

原创 动态规划 Leetcode 674 最长连续递增序列

要点:1.dp[i]定义为nums[i]结尾的连续最长递增蓄力,则正向遍历,递推时,如果是连续序列,则只比较nums[i]和nums[i-1],若是可以不连续则可以,则需要比较i之前的nums[j](j = 0:i)与nums[i]的大小。方法二:dp[i]定义为以nums[i]开始的连续最长递增序列,则反向遍历。方法一:dp[i]定义为nums[i]结尾的连续最长递增蓄力,则正向遍历。

2024-03-30 16:31:18 222

原创 动态规划 Leetcode 300 最长递增子序列

3. 返回不能直接返回dp[n-1],因为此时dp[n-1]代表的是以nums[n-1]结尾的最大递增子序列的长度,所以此时要返回dp数组的最大值;要点:1.dp数组含义:dp[i]代表以nums[i]结尾的最长递增子序列的长度;

2024-03-30 15:39:04 785

原创 动态规划 Leetcode 714 买卖股票的最佳时机含手续费

3.dp数组初始化,dp[i][0-1]代表利润,所以不持有股票后利润最小为0,初始化为dp[0][0] = -prices[0],dp[0][1] = 0。要点:1.两种状态持有股票和不持有股票;

2024-03-30 14:48:17 977

原创 动态规划 Leetcode 309 买卖股票的最佳时机含冷冻期

要点:1.想清楚每天有几种状态,此题一天有四种状态:持有股票,保持之前卖出股票,今天卖出股票,冷冻期;

2024-03-26 00:11:55 225

原创 动态规划 Leetcode 188 买卖股票的最佳时机IV

这道题,只不过多了几轮,循坏递推就可以。

2024-03-25 23:12:35 255

原创 动态规划 Leetcode 123 买卖股票的最佳时机III

要点:1.需要想清楚每天有四种状态,持有第一支股票-不持有第一支股票-持有第二支股票-不持有第二支股票,从而明确出dp数组的定义;2.递推公式想到对每个状态分别做递归,并且四个状态有时序关系,所以每个状态一定是和前一个状态有关联,如此寻找到递归关系表达式;4.不持有股票可以是i-1天就已经不持有股票,也可以是在当天卖出股票,同样取两者种较大值;3.持有股票不一定就要当天买入股票,也有可能i-1天买入股票,两者取较大值递归;

2024-03-21 23:17:55 304

原创 动态规划 Leetcode 121 买卖股票的最佳时机

2.动态规划想到dp数组定义为dp[j][0]和dp[j][1],每一天有两个状态持有股票0以及不持有股票1时所得最多现金,得到递推公式。要点:1.贪心算法想到用一个变量来记录遍历数据的最小值left,另一个变量记录左右差。,并且最后不持有股票一定比持有股票现金多。

2024-03-21 13:15:20 614

原创 动态规划 Leetcode 337 打家劫舍III

3.单次递归逻辑(递归公式)分偷父节点和不偷父节点两种情况,且不偷父节点时左右节点可以偷也可以不偷需要取较大值;2.dp数组想到为长度为2,dp[0]代表不选该节点,dp[1]代表选该节点;要点:1.二叉树遍历顺序想到为后续遍历;

2024-03-19 14:45:00 237

原创 动态规划 Leetcode 213 打家劫舍II

要点:1.分情况,分别考虑带首元素和尾元素,然后返回两者中的较大值;

2024-03-19 13:23:50 222

原创 动态规划 Leetcode 198 打家劫舍

要点:1.递推公式,如果偷第j间房(下标从1开始)则。

2024-03-19 12:42:33 1054

原创 动态规划 Leetcode 139 单词拆分

要点在注释中详细说明,注意迭代公式中是dp[i]不是dp[j-i]

2024-03-19 00:18:12 231

原创 动态规划 Leetcode 279 完全平方数

3.注意C语言中有符号数和无符号数的用法,注意C语言中使用unsigned int,不然UINT_MAX+1如果转换为int类型会按有符号数处理,值变为-1;2.完全背包问题,完全平方数可以无限选,外层物品遍历,内层背包容量遍历;要点:1.背包容量为n,物品为完全平方数,重量为其数值大小,价值为1;

2024-03-18 21:51:48 193

空空如也

空空如也

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

TA关注的人

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