自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode42.接雨水(一)

假设每一个部分都是一个宽度为1的木桶 每个木桶能装多少水取决于 最短的木板-当前木桶底。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。个非负整数表示每个宽度为。

2025-06-23 16:32:19 213

原创 LeetCode11.盛最多水的容器

轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。

2025-06-23 15:51:43 137

原创 LeetCode25.k个一组的反转链表

是一个正整数,它的值小于或等于链表的长度。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。的整数倍,那么请将最后剩余的节点保持原有顺序。个节点一组进行翻转,请你返回修改后的链表。

2025-06-20 09:58:08 155

原创 LeetCode92.反转链表II

【代码】LeetCode92.反转链表II。

2025-06-20 09:36:07 181

原创 static关键字详解

常见函数与变量的修饰符,控制变量的存储方式和作用范围。

2025-06-19 16:24:42 118

原创 LeetCode61.旋转链表

5.更新cur = head->next 断开head->next =nullptr。2.计算链表长度size 找到最后一个节点 让他的next指向头节点 完成链表环化。给一个单链表的头节点 将每个链表节点向右旋转k个单位。3.计算链表旋转k个单位以后 原头节点所在的索引。1.判断空链表和只有一个节点的情况。4.将原头节点 移动到现在索引的节点。

2025-06-19 15:34:19 250

原创 malloc底层实现原理

通过brk系统调用调整进程数据段heap的边界 sbrk(n)会将堆顶指针向上移动n字节 返回旧的堆顶指针作为分配内存的起始点。malloc()分配的是虚拟内存,分配的虚拟内存没有被访问的时候,虚拟内存不会映射到物理内存,这样不会占用物理内存。通过mmap系统调用向操作系统申请一段虚拟内存空间 映射到物理内存或者是磁盘交换区。malloc()是c语言中用于动态分配内存的核心函数。1.brk/sbrk---小内存分配。2.mmap---大内存分配。

2025-06-19 14:58:29 606

原创 c语言的内存分区

bss段:存放未初始化的全局变量和静态变量,程序加载时自动初始化为0。存储局部变量、函数参数、返回地址,由编译器自动分配和释放。.data段:存放已经初始化的全局变量和静态变量。系统自动管理该区域,程序启动时分配,结束时释放。存储字符串字面量、const修饰的全局变量。生命周期与函数作用域绑定,函数结束即释放。存储动态分配的数据,需要手动申请和释放。生命周期为整个程序运行期间。程序加载到内存后始终存在。具有只读属性,无法修改。程序运行期间始终存在。存储编译后的机器指令。

2025-06-19 10:48:38 479

原创 伙伴算法(一)

free_area[]数组:包含MAX_ORDER个链表,分别管理2^0(1页4KB)到2^10(1024页4MB)大小的空闲块。位图:记录每对伙伴的状态,0表示两者均空闲或者占用,1表示其中一块被占用,用于快速判断合并条件。内部碎片:发生在已经分配的内存块内部,因为分配的内存要求大于实际需求导致剩余空间无法被其他进程使用。伙伴算法主要用于解决物理内存分配中的外部碎片问题,通过成对分配与合并机制实现内存管理。外部碎片:未被分配的内存空间分散在多个小块中,总和足够但是因为不连续无法分配。

2025-06-19 10:28:20 298

原创 LeetCode206.反转链表

先定义一个pre指针指向空,然后定义一个cur指针指向当前头节点,循环开始,cur指针不停移动,定义一个nxt指针作为cur指针的下一个节点的记号,然后cur->next指向空,接着把pre指针指向cur,此时的cur现在变成nxt.到最后返回一个pre指针就是指向反向链表的头节点。给单链表头节点,反转链表,返回反转后的链表。

2025-06-19 09:40:15 478

原创 LeetCode160.相交链表

2.假设存在相交节点,链表A头节点与链表B到链表相交节点距离不相等,设A到相交节点距离为x,B到相交节点距离为y,相交节点以后距离为z,从A开始移动距离 x+z+y = y+z+x ,当运动到空节点时,自动跳转到另一个链表的头节点。1.假设链表存在相交节点,若链表A头节点与链表B头节点到链表相交节点的距离相等,设置两个指针分别指向头节点,同时移动到两指针相等,成功。3.假设不存在相交节点,同样运动到空节点,跳转到另一个链表的头节点,继续移动。假设每个链表尾部有一个空节点。

2025-06-19 09:25:40 277

原创 LeetCode1.两数之和

因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。

2025-06-18 20:47:50 195

原创 LeetCode1152.好数对的数目

有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始。解释:数组中的每组数字都是好数对。,就可以认为这是一组。

2025-06-18 18:06:39 259

空空如也

空空如也

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

TA关注的人

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