自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 三步问题 --- 动态规划

本文介绍了LeetCode面试题08.01的三步问题动态规划解法。该问题要求计算爬上n阶楼梯的不同方式数,每次可以迈1、2或3步。解法使用动态规划技术:1)建立dp数组存储中间结果;2)初始化前3个台阶的基准值(1,2,4);3)通过状态转移方程dp[i]=(dp[i-1]+dp[i-2]+dp[i-3])%MOD填充数组;4)最终返回dp[n]作为结果。代码实现采用MOD=1e9+7防止整数溢出,时间复杂度O(n),空间复杂度O(n)。

2025-05-31 20:31:22 284

原创 第N个泰波那契数列 --- 动态规划

本文给出了LeetCode第1137题"第N个泰波那契数"的两种解法。第一种使用动态规划,创建dp表存储中间结果;第二种通过变量滚动进行空间优化。两种方法的时间复杂度均为O(n),第二种将空间复杂度优化至O(1)。代码实现了泰波那契数列T(n)=T(n-1)+T(n-2)+T(n-3)的计算逻辑,初始条件为T(0)=0, T(1)=1, T(2)=1。

2025-05-31 20:06:41 329

原创 数青蛙 --- 模拟

本文介绍了力扣(LeetCode)第1419题“数青蛙”的两种代码实现方法。第一种方法使用if-else结构,通过哈希表记录字符出现的次数,并根据字符顺序更新哈希表,最终判断青蛙的叫声是否完整。第二种方法使用哈希表存储字符及其下标,通过数组模拟哈希表,检查字符顺序是否正确,并确保所有青蛙的叫声完整。两种方法都通过遍历字符串并更新哈希表来解决问题,最终返回所需青蛙的最小数量或-1表示无效输入。

2025-05-18 17:50:50 414

原创 外观数列 --- 模拟

外观数列 --- 模拟

2025-05-18 16:25:48 194

原创 消失的两个数字 --- 位运算

【代码】消失的两个数字 --- 位运算。

2025-05-06 15:31:10 577

原创 替换所有的问号 --- 模拟

【代码】替换所有的问号 --- 模拟。

2025-05-06 15:28:09 264

原创 只出现一次的数字II --- 位运算

【代码】只出现一次的数字II --- 位运算。

2025-05-06 15:00:00 411

原创 两数之和 --- 位运算

【代码】两数之和 --- 位运算。

2025-05-06 10:30:00 165

原创 丢失的数字 --- 位运算

【代码】丢失的数字 --- 位运算。

2025-05-05 15:37:32 441

原创 判断字符是否唯一 --- 位运算

【代码】判断字符是否唯一。

2025-05-05 15:33:02 371

原创 常见位运算总结

【代码】常见位运算总结。

2025-04-29 18:02:32 287

原创 矩阵区域和 --- 前缀和

【代码】矩阵区域和 --- 前缀和。

2025-04-29 15:18:23 473

原创 连续的数组 --- 前缀和

【代码】连续的数组 --- 前缀和。

2025-04-29 12:56:50 375

原创 和可被K整除的子数组 --- 前缀和

【代码】和可被K整除的子数组 --- 前缀和。

2025-04-27 18:00:00 245

原创 和为k的子数组 --- 前缀和

【代码】和为k的子数组 --- 前缀和。

2025-04-27 11:00:00 380

原创 除自身以外的乘积 --- 前缀和

【代码】除自身以外的乘积 --- 前缀和。

2025-04-26 13:08:13 227

原创 寻找数组的中心下标 --- 前缀和

【代码】寻找数组的中心下标 --- 前缀和。

2025-04-26 12:58:07 383

原创 DP35 【模板】二维前缀和 ---- 前缀和

【代码】DP35 【模板】二维前缀和 ---- 前缀和。

2025-04-15 21:41:30 167

原创 DP34 【模板】前缀和 -- 前缀和

【代码】DP34 【模板】前缀和 -- 前缀和。

2025-04-15 21:26:42 188

原创 点名(剑指 offer:0~n-1 中缺失的数字) -- 二分查找及多种方法实现

【代码】点名(剑指 offer:0~n-1 中缺失的数字) -- 二分查找及多种方法实现。

2025-04-13 16:00:00 347

原创 寻找旋转排列数组中的最小值 --- 二分查找

【代码】寻找旋转排列数组中的最小值 --- 二分查找。

2025-04-13 13:00:00 422

原创 寻找峰值 --- 二分查找

【代码】寻找峰值 --- 二分查找。

2025-04-12 20:00:00 260

原创 山脉数组的峰顶索引 -- 二分查找

【代码】山脉数组的峰顶索引 -- 二分查找。

2025-04-12 13:00:00 153

原创 搜索插入位置 -- 二分查找

【代码】搜索插入位置 -- 二分查找。

2025-04-11 18:00:00 313

原创 X的平方根 -- 二分查找

【代码】X的平方根 -- 二分查找。

2025-04-11 14:00:00 233

原创 在排序数组中查找元素的第一个和最后一个位置 --- 二分查找

【代码】在排序数组中查找元素的第一个和最后一个位置 --- 二分查找。

2025-04-10 17:14:21 508

原创 二分查找---二分查找

【代码】二分查找。

2025-04-10 15:48:08 173

原创 最小覆盖子串 -- 滑动窗口

【代码】最小覆盖子串 -- 滑动窗口。

2025-04-09 19:58:56 411

原创 串联所有单词的字串 --- 滑动窗口

【代码】串联所有单词的字串 --- 滑动窗口。

2025-04-09 18:03:18 376

原创 找到字符串中所以字母异位词 --- 滑动窗口

版本一:无cont优化。版本二:cont优化。

2025-04-08 20:48:14 342

原创 水果成篮 -- 滑动窗口

【代码】水果成篮 -- 滑动窗口。

2025-04-08 17:07:41 281

原创 将x减到0的最小操作数 -- 滑动窗口

题目链接: 1658. 将 x 减到 0 的最小操作数 - 力扣(LeetCode)

2025-04-08 16:05:47 275

原创 最大连续1的个数III --- 滑动窗口

【代码】最大连续1的个数III --- 滑动窗口。

2025-03-08 22:09:28 291

原创 无重复字符的最长字串---滑动窗口

题目链接: . - 力扣(LeetCode)

2024-11-05 20:28:47 197

原创 gdb的使用

在没有断点的情况下,直接跑完程序,如果有断点,会在运行到断点处停止,相当于VS调试下的F5。: 将main函数中定义的临时变量显示出来,相当于VS中的调试的自动窗口。:会展开部分代码,一般要看的改行代码,在所展示代码的中间位置。:直接回车会显示部分代码,可以持续按回车,直到代码显示完整。类似于在VS中有多个断点的情况下,按F5,跳转到下一个断点。类似与VS中的调试窗口,可以看见我们想看到的变量的变化。:一旦这个变量变化,就会通知,也算是断点的一种。在一个调试周期中,断点编号是线性递增的。

2024-11-05 17:06:54 1176

原创 长度最小的子数组----滑动窗口

【代码】长度最小1的子数组----滑动窗口。

2024-10-29 19:34:25 333

原创 gcc/g++使用

最后的答案是:系统把这些函数实现都被做到名为 libc.so.6 的库文件中去了,在没有特别指定时,gcc 会到系统默认的搜索路径“/usr/lib”下进行查找,也就是链接到 libc.so.6 库函数中去,这样就能实现函数“printf”了,而这也就是链接的作用。我们的C程序中,并没有定义“printf”的函数实现,且在预编译中包含的“stdio.h”中也只有该函数的声明,而没有定义函数的实现,那么,是在哪里实“printf”函数的呢?选项“-o”是指目标文件,“.i”文件为已经过预处理的C原始程序。

2024-10-29 18:46:36 825

原创 四数之和----双指针

该题目的算法原理和三数之和的算法原理极其相似,是在此基础上的进阶,推荐看完三数之和讲解再看此篇文章。

2024-10-28 19:10:47 178

原创 vim使用

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

2024-10-28 17:56:28 790

原创 Linux软件安装包管理器yum

"x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配. "el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念.

2024-10-27 18:19:40 498

空空如也

空空如也

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

TA关注的人

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