自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣刷题笔记-合并区间

比如这里再往后看[8,10],这里[8,10]中的start 8>[1,6]中的end 6,所以可以确定是无重叠的,直接把[8,10]加入到res中就可以这时res中就变成了[[1,6], [8,10]]。图上可以看得蓝色的[1,3]和粉色的[2,6]重合了,可以发现判断重合最重要的就是前面一组数的end和后面一组数的start进行比较,也就是蓝色的3和粉色的2进行比较,如果第二组数的stat<=第一组数的end,那么就可以进行合并。所以第一步先把所有区间按开始位置从小到大排好顺序,方便后面的操作。

2025-12-28 12:01:01 269

原创 力扣刷题笔记-和为 K 的子数组

比如刚刚的例子nums=[1,2,3,4],当我走到nums[2]=3这个位置的时候,如果要找和为5的子数组的话,就就会去看nums[2]=3之前的位置中,有没有前缀和是sum[2]-5即6-5=1的,当然有,我们找到了sum[0]=1,这时候对应location0,也就是mums[0]那个位置。但是是sum[l - 1] =1,所以这时候l-1是0,我们要找到的是l,所以要从loaction0后面的开始看,不要把nums[0]包进去,一直到nums[2]=3这个位置。否则每次都要回头从头查一遍。

2025-12-26 22:43:45 723

原创 力扣刷题笔记-旋转图像

为了完成转置,可以只用走一半,专注于处理对角线以上的部分,处理的时候把每个数和对角线以下的部分进行交换就可以了,每次处理的时候都会去处理一对 (i,j) 和 (j,i) ,让这两个数都完成交换,到自己最终的位置去。转置能做到的是:(i, j) → (j, i),也就是说:最上面一行 → 最左边一列,但我们要做的是最上面一行 → 最右边一列。直观对比两个矩阵就能发现,每一行的元素的方向不对,反了。再观察“整条边”的变化,先看原矩阵中最上面的一整行(0,0) (0,1) (0,2) …先看最容易想象的四个角。

2025-12-23 00:09:46 275

原创 力扣刷题笔记-全排列

接着用同样的方式继续回溯和尝试:当以 1 开头的所有情况都尝试完后,就把第一把椅子上的 1 请走,改让 2 坐在第一把椅子上,得到 2 _ _,再安排后两把椅子,生成 [2,1,3] 和 [2,3,1];于是改让 3 坐在第二把椅子上,得到 1 3 _,再来到第三把椅子,此时只能让 2 坐下,形成 1 3 2,这又是一个完整排列,记录下来。总之,算法就是从左到右逐个位置填数字,每一层递归负责“填一个位置”,每一层都尝试所有还没用过的数字,当填满时记录结果,然后逐层撤销选择,继续尝试其他可能。

2025-12-21 21:51:50 610

原创 力扣刷题笔记-组合总和

比如candidates = [2,3,6,7], target = 7的时候,第一次先选一个数2,把2加入到path中,这时还没有达到target的值,可以再选一个数,这时还是可以按顺序选[2,3,6,7]中的所有数,做循环尝试,可以就再选2试试,这时path中已经有[2,2]了,和还是没达到target,还可以继续加数,再加一个2试试,最后发现[2,2,2]后面再加数已经不行了,加任何数都走不通了,那么就会把最后加进去的那个 2 踢掉,回到 [2, 2] ,然后在这一层尝试别的选择。

2025-12-21 15:46:06 717

原创 【力扣刷题笔记-在排序数组中查找元素的第一个和最后一个位置】

当nums[mid] < target 时,left 才会右移到mid + 1,这时mid左边的所有位置,已经全部被确认 < target,那么不管如何移动,left也保证了它左边的所有数肯定都会 < target,这样,在循环结束之后,left 一定会指向第一个 ≥ target 的位置。第 1 次循环:mid = 5,nums[5] = 4 ,nums[mid] <= target,这里还是 4,但不确定是不是最后一个,所以向右继续找,把 left 移到 mid + 1 = 6。

2025-12-17 22:00:35 635

原创 力扣刷题笔记-下一个排列

从后往前找到 j = 4,比 5 大的最小元素是 6,此时,交换 i 与 j 位置的数字nums[i] 和 nums[j],得到 [1, 8, 6, 7, 5, 3]。例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。而 arr = [3,2,1] 的下一个排列是 [1,2,3] ,因为 [3,2,1] 不存在一个字典序更大的排列。例如,arr = [1,2,3] 的下一个排列是 [1,3,2]。

2025-12-16 22:35:41 634

原创 力扣刷题笔记-删除链表的倒数第N个结点

这个例子里,p和q都移动了3次,此时p恰好指向要删除的结点4。这一题最重要的是怎么找到倒数第n个结点,因为链表的长度其实我们是不知道的,这里指向链表的指针只能单向移动,按一般的思路的话我们用指针只有遍历完一遍确定链表的长度之后,才能确定倒数第n个结点的位置,然后再从头开始遍历去找这个结点把它删掉。pre ,p , q都向右移动,直到q指向空的时候停下来,这时候p指向了要删除的那个结点,然后pre->next=p->next,完成结点的删除,最后直接返回dummyHead->next就是删除后的链表。

2025-09-13 21:44:23 585

原创 力扣刷题笔记-电话号码的字母组合

就像走迷宫,刚开始先选择a这个口,沿着 ‘a’ → ‘d’、‘e’、‘f’ 一条条走到底生成 “ad”,“ae”,“af”,然后回到之前的分叉口尝试 ‘b’ → ‘d’,‘e’,‘f’,生成 “bd”,“be”,“bf”,再回去尝试 ‘c’ → “cd”,“ce”,“cf”,直到所有路径走完。这里会进行递归处理,index 代表当前正在处理的数字在输入字符串中的索引,每递归一次,index 加 1(index + 1),表示 “处理完当前数字,该处理下一个数字了”。答案可以按 任意顺序 返回。

2025-09-12 14:26:51 1085

原创 力扣刷题笔记-三数之和

假设数组是 nums = [-1, -1, -1, 0, 1, 2](索引 0、1、2 都是 - 1),初始 left=1(指向第二个-1),right=5(指向最右边那个2),此时nums[0] + nums[1] + nums[5] = -1 + (-1) + 2 = 0 → 组合 [-1,-1,2](有效)。[-4, -1, -1, 0, 1, 2]中,可能会用第一个 -1 当固定数找到 [-1,-1,2],再用第二个 -1 当开头,又找到一次 [-1,-1,2],这就重复了。

2025-09-10 23:52:20 965

原创 力扣刷题笔记-盛最多水的容器

这个时候左边的那根柱子更低一点,如果我们固定了左边界不动,只移动右边界,宽度就会减小,那高度是否会增大?既然水域宽度也减小了,高度也不可能增高,所以固定比较矮的左边界去移动右边界的做法是不行的。其实就是下面红线的那个区域,宽度乘以高度,宽度是已知的( right - left ),而高度是取决于最矮的那根柱子的,即min(h[left] , h[right]),现在图中看也就是此时left指向的那根柱子。到了这个时候也是一样的操作,比较两根柱子的高度,如果右边界的柱子比较低,那么就去移动右边界。

2025-09-10 15:05:41 896

原创 力扣刷题笔记-最长回文子串

定义 dp[i][j] 表示子串 s[i…j](从索引 i 到 j)是否为回文串,状态值为true表示是回文串,false表示不是回文串。

2025-09-10 00:33:07 603

原创 力扣刷题笔记-无重复字符的最长子串

更新哈希表:把 ‘b’ 的位置覆盖成 7,现在 hashmap 变成 {‘a’:3, ‘b’:7, ‘c’:5},调整后窗口变成 [7,7],窗口内只有新 ‘b’;调整左边界:left = 0 + 1 = 1(避开重复的旧 ‘a’),调整后窗口变成 [1,3],窗口内有 ‘b’、‘c’ 和新 ‘a’;调整左边界:left = 1 + 1 = 2(避开重复的旧 ‘b’),调整后窗口变成 [2,4],窗口内有 ‘c’、‘a’ 和新 ‘b’;如何判断新加的数和滑动窗口内的数重复?我们把数一个个存到哈希表里面。

2025-09-05 22:35:45 951

原创 力扣刷题笔记-两数相加

指针a刚开始指的是虚拟头节点dummyHead,可以用指针 a 一步步往后 “延长” 结果链表,每一步新增一个节点存当前位的计算结果,carry 进位也从个位到高位依次传递,最后去掉本就不要的dummyHead,返回真正的结果链表。2.有可能在计算的时候,链表最后一个数相加还要进位,比如511+511,百位是5 + 5 =10,得出来的数是1022, 两个三位数相加可能是四位数。构建结果节点:a->next = new ListNode(8)(结果链表现在是 dummyHead → 7 → 0 → 8)

2025-09-04 21:35:28 698

原创 【力扣刷题笔记-两数之和】

分析:这一题可以使用哈希表来解决,可以对每个元素都算一下与目标值的差值,这个差值就是我们要找的配对的那个数,在哈希表中查一下这个数存不存在,如果存在的话就返回这两个数的下标。这个哈希表可以一边构造一边找,也就是说如果查找的时候没找到自己的那个搭子,就可以把自己加到哈希表里面,让后来的数字在表里可以找到自己。• 这样,当后续遍历到某个元素 nums[j] 时,就能通过哈希表快速查到之前是否有元素 nums[i] 满足 nums[i] + nums[j] = target。你可以按任意顺序返回答案。

2025-08-27 00:15:07 302

原创 牛客网shell基础编程

shell统计文件行数

2022-05-15 10:15:27 560

原创 nginx学习笔记

nginx学习笔记

2022-05-12 11:36:03 1305

原创 nginx安装(linux版)

nginx安装

2022-05-07 23:11:57 1488

原创 【Linux磁盘管理基础命令】

磁盘管理基础命令

2022-04-29 23:12:49 736

原创 【Linux网络管理】

Linux网络管理

2022-04-29 23:03:08 1406

原创 【b站黑马程序员学习笔记-shell入门编程】

b站黑马程序员学习笔记-shell入门编程

2022-04-27 22:51:23 3165

原创 vim程序编辑器

vim基础知识

2022-04-09 15:21:21 1280

原创 Linux文件与目录管理

LINUX文件与目录管理常用命令

2022-03-27 22:45:08 901

原创 牛客网基础C++编程-点和圆的位置关系

牛客网基础C++编程-点和圆的位置关系

2022-03-23 15:40:46 1865

原创 C++引用方式实现两数交换

C++引用方式实现两数交换

2022-03-22 23:29:42 2224

原创 C++字符判断函数

C++字符判断函数

2022-03-22 21:28:29 1166

原创 牛客网基础C++编程-创建动态数组

牛客网基础C++编程-创建动态数组

2022-03-22 11:21:57 2010

原创 牛客网基础C++编程-比较字符串大小

牛客网基础C++编程-比较字符串大小

2022-03-22 00:07:16 927

原创 牛客网基础C++编程-数组元素处理

牛客网基础C++编程-数组元素处理

2022-03-21 22:25:48 404

原创 【b站黑马程序员C++视频学习笔记-文件操作】

C++文件操作

2022-03-06 22:24:39 9058

原创 【b站黑马程序员C++视频学习笔记-多态案例三-电脑组装】

多态案例之电脑组装

2022-03-06 17:31:17 7365

原创 【b站黑马程序员C++视频学习笔记-虚析构和纯虚析构】

虚析构和纯虚析构

2022-03-06 12:09:23 5577

原创 【b站黑马程序员C++视频学习笔记-多态案例二-制作饮品】

多态案例-制作饮品

2022-03-06 10:59:07 6924

原创 【b站黑马程序员C++视频学习笔记-纯虚函数和抽象类】

纯虚函数和抽象类

2022-03-05 21:28:53 1034

原创 【b站黑马程序员C++视频学习笔记-多态案例一-计算器类】

多态案例之计算器

2022-03-05 20:37:02 437

原创 【b站黑马程序员C++视频学习笔记-多态的基本概念】

多态的基本概念

2022-03-05 15:51:36 716 1

原创 【b站黑马程序员C++视频学习笔记-菱形继承】

菱形继承(钻石继承)

2022-03-05 14:07:57 785

原创 【b站黑马程序员C++视频学习笔记-多继承语法】

多继承语法

2022-03-03 17:18:25 247

原创 【b站黑马程序员C++视频学习笔记-继承同名静态成员处理方式】

继承同名静态成员

2022-03-03 16:23:02 329

原创 【b站黑马程序员C++视频学习笔记-继承同名成员处理方式】

继承同名成员处理方式

2022-03-03 15:01:56 433

空空如也

空空如也

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

TA关注的人

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