自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode-用栈实现队列(图解)

232. 用栈实现队列 - 力扣(LeetCode)

2024-05-22 23:35:13 469 10

原创 Leetcode-用队列实现栈(带图详解)

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(myStack.empty();// 返回 False。

2024-05-18 16:08:19 404 11

原创 数据结构-队列(带图详解)

链表是一种基本的数据结构,它用于存储一系列元素(节点),每个节点不仅包含数据元素,还包含一个指向下一个节点的指针。在链表中,数据并非连续地存储在内存中,而是通过每个节点的指针链接起来形成一个逻辑上的线性序列通过前面我们学习的顺序表我们现在延伸一个链表我们会发现顺序表的一些缺点。:顾客在超市收银台前排队等待付款,先到的顾客先完成结账离开,后来的顾客依次跟进。:在餐厅,特别是快餐店,顾客排队等待点餐和取餐,先排队的顾客先完成点餐流程。:在办公室,多个人提交打印任务时,打印机会按照任务提交的顺序依次执行打印。

2024-05-17 23:40:30 1080 13

原创 数据结构-栈(带图)

栈(Stack)是一种基本的数据结构,其特点是只允许在同一端进行插入和删除操作,这一端被称为栈顶。遵循后进先出(Last In, First Out, LIFO)原则,即最后存入栈中的元素最先被取出。形象地讲,栈就像是生活中堆放盘子的架子,我们总是把新的盘子放在最上面,而需要拿盘子时也是从最上面开始拿。

2024-05-16 13:39:49 775 14

原创 探索未来:IT行业的革新脉动与明日图景

面对新兴技术的快速迭代,传统的教育模式正经历前所未有的转型。AI与机器学习的最新进展聚焦于深度学习的优化、自动化机器学习(AutoML)以及可解释性研究,这些进步使得AI在自动化生产流程、个性化服务定制、精准医疗诊断和智慧城市管理等方面的应用更加广泛且高效。正在从理论走向实践的边缘,它预示着计算能力的指数级飞跃,将为药物发现、气候模拟、加密安全等众多领域带来革命性的解决方案。随着AI影响力的扩大,确保技术的伦理使用、保护数据隐私、实现算法公平性和透明度,成为了不容忽视的议题。方向一:技术革新与行业应用。

2024-05-13 11:53:09 309 3

原创 Leetcode-有效的括号(带图)

20. 有效的括号 - 力扣(LeetCode)20. 有效的括号 - 力扣(LeetCode)

2024-05-13 11:30:57 563 21

原创 Leetcode- 随机链表的复制

138. 随机链表的复制 - 力扣(LeetCode)138. 随机链表的复制 - 力扣(LeetCode)

2024-05-04 04:00:00 1198 8

原创 Leetcode- 环形链表 II

142. 环形链表 II - 力扣(LeetCode)

2024-05-04 02:30:00 678

原创 Leetcode—环形链表

指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。这道题的代码很好写,就是快慢指针的思想,但是后面需要自己证明一下。来表示链表尾连接到链表中的位置(索引从 0 开始)。我们走一步我们会发现我们的n会不停的减1看图。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。这个是偶数的一个情况,我们还有奇数的情况。仅仅是为了标识链表的实际情况。,判断链表中是否有环。给你一个链表的头节点。这个情况是为-1的情况。

2024-05-03 21:05:05 463

原创 数据结构:时间复杂度/空间复杂度

时间复杂度,简而言之,是指执行算法所需要的计算工作量随着问题规模(通常是输入数据的大小)增长的变化趋势。它关注的是算法运行时间与输入数据规模之间的关系,通常用大O符号表示(O(n)),忽略掉常数项、低阶项以及最高阶的系数。空间复杂度衡量的是算法在运行过程中临时占用存储空间大小的变化情况,同样与问题规模有关。这包括了算法本身占用的空间以及算法运行过程中需要的额外空间。空间复杂度衡量的是算法在运行过程中临时占用存储空间大小的变化情况,同样与问题规模有关。

2024-05-03 19:53:22 796 13

原创 Leetcode-相交链表

的输入如下(你设计的程序。

2024-04-29 01:30:00 695 1

原创 牛客-OR36 链表的回文结构

对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。给定一个链表的头指针。

2024-04-28 20:25:15 308

原创 Leetcode-面试题 02.02. 返回倒数第 k 个节点

实现一种算法,找出单向链表中倒数第 k 个节点。1->2->3->4->5 和。最终我们的tail就走到这个节点。本题相对原题稍作改动。

2024-04-28 19:51:12 255 3

原创 牛客-BC146 添加逗号

添加逗号_牛客题霸_牛客网 (nowcoder.com)

2024-04-27 17:45:01 393

原创 牛客-OR63 删除公共字符

输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

2024-04-27 17:44:45 191

原创 Leetcode-轮转数字

189. 轮转数组 - 力扣(LeetCode)

2024-04-27 11:24:27 401 3

原创 Leetcode-17.04. 消失的数字

的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?本题相对书上原题稍作改动。

2024-04-27 10:52:18 226 1

原创 C语言—贪吃蛇(链表)超详解

句柄(Handle)是计算机科学中的一个概念,它在Windows操作系统环境中被广泛使用。简单来说,句柄是一种抽象的、唯一的标识符,用于指向并操作系统内特定的对象或资源,如文件、窗口、进程、设备等。为了帮助您更好地理解句柄的概念,我们可以用一个生动的比喻来解释:假设您养了一群鸭子,每只鸭子都有一个独特的脚环,上面刻有唯一编号。唯一标识:每个鸭子脚环上的编号都是独一无二的,就像句柄标识系统内的每一个对象一样。通过这个编号(句柄),您可以快速准确地识别出特定的鸭子(对象)。操作鸭子。

2024-04-24 15:59:50 2240 15

原创 宽字符的来历:从ASCII到Unicode,C语言中的宽字符处理

宽字符作为Unicode在C语言中的具体实现形式,极大地扩展了编程语言对全球多语种字符的支持能力。虽然在实际应用中还需考虑编码转换、平台差异等问题,但宽字符无疑为构建跨语言、跨文化的软件系统奠定了坚实基础。理解并熟练运用宽字符,是现代C程序员必备的技能之一。

2024-04-24 14:50:07 745 1

原创 牛客-小乐乐与欧几里得

小乐乐最近在课上学习了如何求两个正整数的最大公约数与最小公倍数,但是他竟然不会求两个正整数的最大公约数与最小公倍数之和,请你帮助他解决这个问题。每组输入包含两个正整数n和m。(1 ≤ n ≤ 109,1 ≤ m ≤ 109)对于每组输入,输出一个正整数,为n和m的最大公约数与最小公倍数之和。

2024-04-20 21:34:45 370 2

原创 数据结构-双链表(图解)

双链表是一种常用且重要的线性数据结构,它在计算机科学和软件工程中扮演着不可或缺的角色。相较于单链表,双链表的每个节点包含两个指针,分别指向其前驱节点(previous node)和后继节点(next node),这一特性使得双链表在数据操作上具有更高的灵活性。

2024-04-20 21:28:50 1364 3

原创 单链表-通讯录

和前面的通讯录实现差不多这次就是实现一个以单链表为底层的通讯录。

2024-04-18 22:57:30 262 1

原创 leetcode-分割链表

提示给你一个链表的头节点head和一个特定值x,请你对链表进行分隔,使得所有x的节点都出现在x的节点之前。你不需要每个分区中各节点的初始相对位置。

2024-04-18 00:00:00 804

原创 牛客-环形链表的约瑟夫问题

编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数,报到 m 的人离开。n-1 轮结束以后,只剩下一个人,问最后留下的这个人编号是多少?进阶:空间复杂度 �(1)O(1),时间复杂度 �(�)O(n)数据范围: 1≤�,�≤100001≤n,m≤10000。下一个人继续从 1 开始报数。

2024-04-17 02:30:00 351

原创 leetcode-合并两个有序链表

这个方法就比上一个方法多了一个“哨兵”,也就是用malloc开辟的一个辅助空间。新链表是通过拼接给定的两个链表的所有节点组成的。将两个升序链表合并为一个新的。

2024-04-17 00:00:00 426

原创 数据结构:单链表

链表是一种基本的数据结构,它用于存储一系列元素(节点),每个节点不仅包含数据元素,还包含一个指向下一个节点的指针。在链表中,数据并非连续地存储在内存中,而是通过每个节点的指针链接起来形成一个逻辑上的线性序列通过前面我们学习的顺序表我们现在延伸一个链表我们会发现顺序表的一些缺点。

2024-04-16 16:53:54 1695 2

原创 leetcode-链表中间节点

该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。如果有两个中间结点,则返回第二个中间结点。,请你找出并返回链表的中间结点。链表只有一个中间结点,值为 3。

2024-04-16 01:30:00 307

原创 leetcode-反转链表

请你反转链表,并返回反转后的链表。然后,将这个代码写成一个循环。

2024-04-15 19:41:35 298 1

原创 Leetcode-移除链表元素

请你删除链表中所有满足。给你一个链表的头节点。

2024-04-15 18:50:13 361

原创 LeetCode- 合并两个有序数组

注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。,5,6] ,其中斜体加粗标注的为 nums1 中的元素。最终,合并后数组不应由函数返回,而是存储在数组。需要合并 [1,2,3] 和 [2,5,6]。需要合并的数组是 [] 和 [1]。个元素表示应合并的元素,后。需要合并 [1] 和 []。中,使合并后的数组同样按。合并结果是 [1]。合并结果是 [1]。

2024-04-08 20:32:26 199

原创 LeetCode-移除元素

你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。你不需要考虑数组中超出新长度后面的元素。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。// 根据你的函数返回的长度, 它会打印出数组中。// 在函数里修改输入数组对于调用者是可见的。为什么返回数值是整数,但输出的答案是数组呢?的元素,并返回移除后数组的新长度。

2024-04-08 19:05:22 387

原创 C语言顺序表-文件操作-通讯录

请先看这两个博客再看下面顺序表-通讯录。

2024-04-07 16:21:05 493

原创 数据结构:顺序表

数据是计算机科学中的基本概念,它代表了在计算机程序中处理的一切信息内容。

2024-04-07 00:15:00 842

原创 简易通讯录管理系统:C语言实现及代码详解

在本篇博客中,我们将一起剖析一个基于C语言编写的简易通讯录管理系统的源代码。该系统具备添加、删除、查找、修改、显示和排序联系人信息的核心功能。现在让我们逐一解析主程序(main.c)和功能函数实现文件(fun.c)中的关键代码段。通过以上各个组成部分的设计和实现,即可构建一个基本的简易通讯录管理系统。我注释上写的很清楚了。

2024-04-07 00:00:00 342

原创 vld安装教程(视频解析)

我这边小破站上做的教学视频(

2024-04-03 11:26:51 194 2

原创 C语言:宏实现整数二进制位的奇偶位交换

首先,理解一下问题描述:假设我们有一个整数10(二进制表示为),我们的目标是通过编程方法将其奇数位和偶数位进行互换。具体来说,就是将原数的奇数位置保持不变,而将所有偶数位置的比特位设置为0;同时,将原数的偶数位置比特值移动到对应的奇数位置,并将所有新的偶数位置设置为0。要实现这一目标,我们可以巧妙地利用位运算符。在C语言中,我们可以使用按位与(&)、按位或(|)、按位异或(^)、左移()等位运算符。然后我们就可以得出一个宏定义:0x55555555。

2024-03-29 14:37:09 774

原创 C语言中的offsetof宏计算结构体中某变量相对于首地址的偏移

由于0是一个常数,实际上并不会去访问任何实际的内存地址,而是利用这个“伪”指针来获取成员。宏是一个预处理器指令,其功能是计算给定结构体类型中特定成员的偏移量(即字节距离)。宏,我们可以分别获取这三个成员在其所在结构体内的偏移量。是一个技巧性的用法,它将0强制转换为指向。的地址,最后转换成整型值表示偏移量。的结构体,包含三个成员:整型变量。上述代码中,我们定义了一个名为。

2024-03-29 14:26:02 123

原创 C语言程序编译和链接的

通过《程序员的自我修养》这本书的深度剖析,我们可以清晰地认识到C语言程序的编译与链接不仅是一项技术实践,更是现代软件工程中不可或缺的知识体系。深入理解和掌握这一过程,不仅能帮助我们编写出更高效、更可靠的代码,还能更好地排查和修复编译期和链接期错误,进而提升作为程序员的自我修养。: 如果目标文件引用了其他模块中的符号(如外部函数或全局变量),链接器会在所有提供的库文件和对象文件中寻找匹配的定义,解决这些未定义的符号引用。),链接器将必要的函数和数据段加载进来,填补未定义的符号引用。

2024-03-27 20:10:07 339

原创 C语言中实现atoi函数实现

函数是一种广泛应用的标准函数,用于将ASCII字符串转换为等效的十进制整数值。函数接收一个指向字符串的指针作为参数,并返回相应的整数值。的状态判断输入字符串是否为合法整数,并相应输出“合法”或“不合法”。如果是,则说明字符串已经完整地转换为整数,此时将全局变量。函数判断),则返回0,表示字符串不能转换为有效的整数。接着,检查当前字符是否为正负号,根据结果设置布尔变量。布尔变量的值,决定返回结果的正负,然后返回整数结果。函数遍历输入字符串,跳过开头的所有空白字符。,表示输入字符串为合法整数格式。

2024-03-27 15:14:46 396

原创 C语言使用联合体判断大小端

(Union)是一种特殊的复合数据类型它允许在其声明的内存区域中存储多个不同的数据类型,但同一时刻只能保存其中一种类型的数据。各个成员共享同一块内存空间,因此改变任何一个成员变量的值,都会影响到其他成员。下面展示的C语言代码片段,通过定义一个包含整型变量a和字符型变量i。

2024-03-27 00:00:00 250

vld安装教程(详解)

不用进入vs链接,看视频你就懂了

2024-04-03

空空如也

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

TA关注的人

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