- 博客(246)
- 收藏
- 关注
原创 【优选算法必刷100题:专题五】(位运算算法)第033~38题:判断字符是否唯一、丢失的数字、两整数之和、只出现一次的数字 II、消失的两个数字
191. 位1的个数public:while(n)count++;338. 比特位计数// 奇偶性动态规划// public:i < n + 1;// 汉明重量问题解法public:i < n + 1;return ans;461. 汉明距离// 干掉一个数二进制位中表示最右侧的1public:while(val)count++;136. 只出现一次的数字。
2025-12-24 22:42:29
668
21
原创 Al Ping免费上新:GLM-4.7 && MiniMaxM2.1重磅上线,附独家使用教程
海量模型聚合,覆盖多元需求平台深度整合95+款主流大模型,全面覆盖文本生成、视觉理解、图像生成等多元应用场景,无需切换多平台,即可一站式体验不同类型大模型的能力。统一OpenAI兼容接口,降低开发成本为开发者提供标准化的OpenAI兼容接口,可实现零成本的模型切换与集成。开发者无需针对不同模型调整调用代码,大幅提升开发效率与适配灵活性。实时性能监控,辅助最优决策。
2025-12-24 21:47:04
383
20
原创 【Python库和代码案例:第二课】一边写“鼓励师”给自己打气,一边写“学生管理”鞭策别人:Python拿捏了
🎬 艾莉丝的简介:有些公司会设有程序猿鼓励师这样一个岗位,程序猿敲代码很辛苦,需要鼓励,一般程序猿鼓励师是一些好看的妹子,在程序猿燃尽了的时候可以鼓励程序员继续敲代码。但是,很多公司没有这样一个岗位怎么办?程序猿自己来实现一下这个功能,自己鼓励一下自己。监听键盘按键,每按键20下,就自动播放一个音频,鼓励一下辛苦搬砖的自己。3.5.2 准备音频文件此处准备了一个放到和py代码同级目录中。运行一下程序,即可感受到效果。上述代码在执行过程中,会感觉到播放音频会导致按键卡顿,,关于多线程的知识,在此处不详
2025-12-22 11:22:13
1509
135
原创 【Linux进程(五)】Linux / Windows命令行参数与环境变量深度解析 | 附代码实验与配置技巧
命令行参数的名字可以自定义的(形参),都是可以改的,argc这种都是约定俗成的,可以改,但是既然已经有约定俗成的名字了,用着就好了,当然虽然如此,还是给了程序员更改的自由。像这些参数都是可以自定义的,因为是形参。
2025-12-22 11:11:11
1897
76
原创 【Linux进程(四)】深入理解 Linux O(1) 调度器:双队列轮转与进程优先级机制——如何避免进程饥饿,实现公平且高效的进程调度
(–,一直到减为0,swap交换指针),Linux操作系统中的选择逻辑。先拿active指针,找到active——找到现在是在哪一个队列当中,nr_active确定当前有无进程:如果有,查bitmap表,确认数组下标,根据数组下标,找到一个进程。整个过程,时间复杂度几乎是O(1),这就是Linux内核之O(1)调度算法(结构决定算法)。
2025-12-19 12:03:41
1277
27
原创 【Linux进程(三)】深入Linux进程调度:优先级(PRI, NI)的原理与实践操作全解
时间片:当代计算机都是分时操作系统,没有进程都有它合适的时间片(其实就是一个计数器)。时间片到达,进程就被操作系统从CPU中剥离下来。后面会重点介绍,我们下篇博客会介绍。
2025-12-19 11:55:10
714
37
原创 【Python库和代码案例:第一课】Python 标准库与第三方库实战指南:从日期处理到 Excel 操作
🎬 艾莉丝的简介:就是是别人已经写好了的代码,可以让我们直接拿来用。一个编程语言能不能流行起来,一方面取决于语法是否简单方便容易学习,一方面取决于生态是否完备。实际开发中,也并非所有的代码都自己手写,而是要充分利用现成的库,简化开发过程。按照库的来源,可以大致分成两大类——标准库:Python自带的库.只要安装了Python就可以直接使用。第三方库:其他人实现的库,要想使用,需要额外安装。来源,可以大致分成以上两大类。Python 自身内置了非常丰富的库,在上可以看到这些库的内容:Python 官方文档简
2025-12-17 12:22:15
2352
105
原创 【Linux进程(二)】Linux进程的诞生、管理与消亡:一份基于内核视角的完整分析
Ptrace 详解如下图所示,艾莉丝整理了一张简单的思维导图——整个的进程诞生、管理与消亡的过程如下图所示——怎么不见进程挂起呢?
2025-12-17 12:17:21
941
133
原创 【Linux进程(一)】深入理解计算机系统核心:从冯·诺依曼体系结构到操作系统(OS)
冯·诺依曼体系结构是我们计算机(尤其是英特尔架构下的。
2025-12-14 11:37:02
1948
106
原创 【Python基础:语法第六课】Python文件操作安全指南:告别资源泄露与编码乱码
🎬 艾莉丝的简介:变量是把数据保存到内存中,如果程序重启/主机重启,内存中的数据就会丢失。要想能让数据被持久化存储,就可以把数据存储到硬盘中,也就是在 中保存。在Windows"此电脑”中,看到的内容都是文件——通过文件的后缀名,可以看到文件的类型,常见的文件的类型如下:我们本文主要就是讨论 。2 ~> 文件路径2.1 理论一个机器上,会存在很多文件,为了让这些文件更方面的被组织,往往会使用很多的"文件夹”(也叫做 )来整理文件。实际一个文件往往是放在一系列的目录结构之中的。为了方便确定一个
2025-12-14 11:35:41
3839
172
原创 【Python基础:语法第五课】Python字典高效使用指南:避开KeyError,掌握遍历与增删改查精髓
字典是一种存储 键值对的结构。啥是 键值对?这是计算机 / 日常生活中一个非常广泛使用的概念。把键 (key) 和值 (value) 进行一个一对一的映射,然后就可以根据键,快速找到值。举个🌰,学校的每个同学,都会有一个唯一的学号。知道了学号,就能确定这个同学。此处“学号”就是“键”,这个“同学”就是"值”。
2025-12-12 10:28:45
1394
108
原创 【Linux基础开发工具 (七)】Git 版本管理全流程与 GDB / CGDB 调试技巧
艾莉丝已经把【Git版本控制器】这个板块内容都整理成博客啦,所以Linux主线专栏这里我们就寥寥几笔,直接带过。详解Git原理与使用艾莉丝把此专栏的链接都挂在下面了,大家可以根据实际需要乘坐【传送门】哦!【Git:基本操作】深度解析Git:从初始Git到熟悉基本操作【Git:分支管理】Git分支管理完全指南:从创建、合并到冲突解决【Git:深度解析Git远程操作和标签管理】从克隆到推送:Git远程操作与标签管理完全指南【Git:多人协作】Git多人协作实战:从同分支到多分支工作流。
2025-12-12 10:26:51
5354
137
原创 【Linux基础开发工具 (六)】Linux中的第一个系统程序——进度条Linux:详解回车、换行与缓冲区
🎬 艾莉丝的简介:🎬 艾莉丝的Linux专栏简介:这是一张普通的作文纸,每次我们写完一行,都要从下一行开头开始继续往下写,写完一段,都要新起一行——如下图,键盘、打字机上面都有回车键——为什么说回车和换行不是一回事呢?是的,回车换行是两个动作,\r是回车,\n是换行(和\r\n是一样的),在C/C++里面\n(C)、std::endl(C++)是把两个动作(回车和换行)合写成一个一个了。这里就是字符位数不够,右对齐了——下面的代码会有哪些现象?5.3 练练手:demo:光标快速回
2025-12-08 10:35:35
2110
95
原创 【Python基础:语法第四课】列表和元组——Python 里的“爱情”:列表善变,元组长情
方法其实就是函数,只不过函数是独立存在的,而方法往往要依附于某个“对象"。像上述代码,append就是依附于alist,相当于是"针对alist这个列表,进行尾插操作"。
2025-12-08 10:34:06
2006
147
原创 【C++:智能指针】没有垃圾回收?智能指针来也!破解C++内存泄漏:智能指针原理、循环引用与线程安全详解
下面程序中我们可以看到,new了以后,我们也delete了,但是因为抛异常导,后面的delete没有得到执行,所以就内存泄漏了,所以我们需要new以后捕获异常,捕获到异常后delete内存,再把异常抛出,但是因为new本身也可能抛异常,连续的两个new和下面的Divide都可能会抛异常,让我们处理起来很麻烦。智能指针放到这样的场景里面就让问题简单多了。下面这段代码也是我们之前见过的。// 当b == 0时抛出异常else。
2025-12-05 08:30:55
1872
154
原创 【Python基础:语法第三课】Python 函数详解:定义、参数、返回值与作用域
我们编程中的函数其实和数学中的函数有一定的相似之处:数学上的函数,比如y=sinx,x取不同的值,y就会得到不同的结果编程中的函数,指的是 一段可以被重复使用的代码片段。def 函数名(形参列表) : 函数体 return 返回值# 如果光是定义函数, 而不调用, 则不会执行.test3() # 还没有执行到定义, 就先执行调用了, 此时就会报错.报错——
2025-12-05 08:30:26
1810
106
原创 【Linux基础开发工具 (五)】详解自动化构建:make / Makefile
Vim在编辑文件时会自动创建临时交换文件(.swp结尾),用于崩溃时恢复数据。
2025-12-03 11:15:43
1110
162
原创 【C++:异常】C++ 异常处理完全指南:从理论到实践,深入理解栈展开与最佳实践
🎬 艾莉丝的简介:🎬 艾莉丝的C++专栏简介:Cplusplus.com这个文档在C++98、C++11时候还行,之后就完全没法用了……——还 :C++准官方参考文档这个行,包括C++26都同步了,我们以后主要会看这个。Standard C++这个网站上面会有很多大佬,类似于论坛。在C语言里面,异常的处理机制——通过错误码的形式处理错误,比较麻烦,如下图所示——异常处理机制允许程序中独立开发的部分能够在运行时就出现的问题进行通信并做出相应的处理,异常使得我们能够将问题的检测与解决问题的过程分开,程
2025-12-03 11:14:00
1623
106
原创 【C++:C++11收尾】解构C++可调用对象:从入门到精通,掌握function包装器与bind适配器包装器详解
🎬 艾莉丝的简介:🎬 艾莉丝的C++专栏简介:Cplusplus.com这个文档在C++98、C++11时候还行,之后就完全没法用了……——还 :C++准官方参考文档这个行,包括C++26都同步了,我们以后主要会看这个。Standard C++这个网站上面会有很多大佬,类似于论坛。8.1.2 概念 是一个类模板,也是一个包装器 的实例对象可以包装存储其他的可以调用对象,包括函数指针、仿函数、 、 等,存储的可调用对象被称为 的目标。若std::function不含目标,则称它为空。调用
2025-12-01 09:56:14
1721
171
原创 【Python基础:语法第二课】Python 流程控制详解:条件语句 + 循环语句 + 人生重开模拟器实战
条件语句能够表达“如果 … 否则 …”这样的语义。这构成了计算机中基础的逻辑判定。条件语句也叫做分支语句,表示了接下来的逻辑可能有几种走向。如果我认真敲代码我就很容易找到工作否则我就容易毕业就失业虽然结构变了, 但是整体表达的语义是等价的。
2025-12-01 09:54:56
1989
332
原创 时光织网:基于Rokid AI眼镜的家庭智能协同中枢设计与实现
在快节奏的现代生活中,家庭成员间的日程协调成为一项复杂挑战。本文提出了一种基于Rokid CXR-M SDK的创新解决方案——"时光织网"家庭智能协同系统。该系统通过AI眼镜与手机端的深度协同,将家庭日程管理从被动提醒升级为主动协调,利用增强现实技术实现空间化的家庭日程可视化,结合自然语言处理打造无缝的语音交互体验。文章详细阐述了系统架构设计、核心功能实现及优化策略,并通过实际案例验证了其在提升家庭协同效率方面的显著价值。
2025-11-28 14:54:36
677
18
原创 【C++:C++11】C++11新特性深度解析:从可变参数模板到Lambda表达式
🎬 艾莉丝的简介:🎬 艾莉丝的C++专栏简介:Cplusplus.com这个文档在C++98、C++11时候还行,之后就完全没法用了……——还 :C++准官方参考文档这个行,包括C++26都同步了,我们以后主要会看这个。Standard C++这个网站上面会有很多大佬,类似于论坛。C++11以后STL容器新增了empalce系列的接口,empalce系列的接口均为模板可变参数,功能上兼容push和insert系列,但是empalce还支持新玩法,假设容器为container,empalc
2025-11-28 10:05:25
1390
149
原创 【Python基础:语法第一课】Python 基础语法详解:变量、类型、动态特性与运算符实战,构建完整的编程基础认知体系
a = 10创建变量的语句非常简单, 其中a 为变量名。当我们创建很多个变量的时候,就可以用名字来进行区分。这里的 = 为赋值运算符,表示把 = 右侧的数据放到 = 左侧的空间中,表示数学上的“比较相等”。像这样写就报错了——a * a = 10会报什么错呢?报这样的错——无法赋值给运算符。注意:变量的名字要遵守一定规则!有哪些规则呢?艾莉丝已经整理成了思维导图,一张图搞定!数学上,变量通常使用 x、y、z 这种简单的英文字母或者拉丁字母表示,但是在编程中不建议这样使用。为什么呢?
2025-11-28 10:03:50
2717
88
原创 【Git:企业级开发模型】Git企业级Git工作流实战:基于Git Flow的分支模型与开发流程
我们用一张图总结一下上面五种分支之间的关系——
2025-11-27 13:39:16
741
15
原创 【C++:C++11】深入浅出 C++11:右值引用、移动语义、可变参数模板与完美转发详解
🔥艾莉丝努力练剑:个人主页❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶、测试开发要点全知道⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平🎬艾莉丝的简介:🎬艾莉丝的C++专栏简介:目录C++学习阶段的三个参考文档3 ~> 右值引用 && 移动语义3.6 类型分类3.7 引用折叠3.7.1 语法和原理3.7.2 最佳实践3.8 完美转发:保持原来属性往下传3.8.1 语法和原理3.8
2025-11-26 08:18:27
1077
153
原创 【Git:多人协作】Git多人协作实战:从同分支到多分支工作流
总结一下,在同一分支下进行多人协作的工作模式通常是这样——首先,可以试图用git push origin branch-name推送自己的修改;如果推送失败,则因为远程分支比你的本地更新,需要先用gitpull试图合并;如果合并有冲突,则解决冲突,并在本地提交;没有冲突或者解决掉冲突后,再用git pushoriginbranch-name推送就能成功!功能开发完毕,将分支merge进master,最后删除分支。
2025-11-26 08:15:15
2130
93
原创 【C++:C++11】详解C++11右值引用与移动语义:从性能瓶颈到零拷贝优化
🔥艾莉丝努力练剑:个人主页❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶、测试开发要点全知道⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平🎬艾莉丝的简介:🎬艾莉丝的C++专栏简介:目录C++学习阶段的三个参考文档前情提示1 C++学习的三个参考文档2 {}初始化3 C++11中的{}4 引用5 fmin6 左值引用和右值引用1 ~> C++11的历史发展1.1 历史发展1.2 拓展
2025-11-24 09:46:11
1636
92
原创 【Git:远程操作和标签管理】从克隆到推送:Git 远程协作与标签管理实战指南
🔥艾莉丝努力练剑:个人主页❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶、测试开发要点全知道⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平🎬艾莉丝的简介:目录艾莉丝的Gitee地址1 ~> 远程操作1.1 理解分布式版本控制系统1.2 远程仓库1.3 创建远程仓库1.4 克隆远程仓库1.4.1 使用HTTPS方式1.4.2 使用SSH方式1.5 向远程仓库推送1.6 拉取远程仓库2
2025-11-23 08:44:31
1072
95
原创 【Python基础】认识Python:手把手教你搭建 Python 环境|附计算机基础图解
很多老一辈的人,管下面这个叫做计算机,but,它只能叫作 “计算器”,和计算机是有很大区别嘟!我们现在所说的计算机,不过要能进行算术运算,还要能够进行逻辑判断、数据存储、网络通信等功能,以至于能够自动地完成非常复杂的工作。比如以下这些都可以称为“计算机”计算机需要硬件赋予之躯体,也需要软件赋予之灵魂。“软件(或者叫做程序)”,指挥了计算机要按照什么样的规则来执行任务。制作软件,就是在明确这个软件要完成什么样的任务,这个过程就称为 “编程”。
2025-11-21 19:26:26
2008
30
原创 【C++:哈希表】从哈希冲突到负载因子:熟悉哈希表的核心机制
因为开放定址法解决冲突不管使用哪种方法,占用的都是哈希表中的空间,始终存在互相影响的问题——正因如此,
2025-11-21 01:49:36
2232
148
原创 【C++:哈希表封装】用哈希表封装unordered_map和unordered_set
🔥艾莉丝努力练剑:个人主页❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶、测试开发要点全知道⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平🎬艾莉丝的简介:🎬艾莉丝的C++专栏简介:SGI-STL30版本源代码中没有unordered_map和unordered_set,SGI-STL30版本是C++11之前的STL版本,这两个容器是C++11之后才更新的,但是SGI-STL30实现了哈希表,只容器的名
2025-11-20 14:02:56
1602
104
原创 【Git:分支管理】Git 分支管理完全指南:从创建、合并到冲突解决
🔥艾莉丝努力练剑:个人主页❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶、测试开发要点全知道⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平🎬艾莉丝的简介:目录艾莉丝的Gitee地址1 ~> 理解分支2 ~> 创建分支3 ~> 切换分支4 ~> 合并分支5 ~> 删除分支6 ~> 合并冲突7 ~> 分支管理策略8 ~> 分支策略9 ~> Bug分支10 ~> 删除临
2025-11-19 09:44:58
2186
117
原创 【C++:unordered_set和unordered_map】C++无序容器深度解析:unordered_set和unordered_map的使用
unordered_set的声明如下,Key就是unordered_set底层关键字的类型。unordered_set默认要求Key支持转换为整型,如果不支持或者想按自己的需求走可以自行实现支持将Key转成整型的仿函数传给第二个模板参数。unordered_set默认要求Key支持比较相等,如果不支持或者想按自己的需求走可以自行实现支持将Key比较相等的仿函数传给第三个模板参数。unordered_set底层存储数据的内存是从空间配置器申请的,如果需要可以自己实现内存池,传给第四个参数。
2025-11-19 09:43:29
1013
78
原创 【C++:封装红黑树】C++红黑树封装实战:从零实现MyMap与MySet
🔥艾莉丝努力练剑:个人主页❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶、测试开发要点全知道⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平🎬艾莉丝的简介:🎬艾莉丝的C++专栏简介:目录C++的两个参考文档1 ~> 分析:源码及框架1.1 见一见源码1.2 对比set和map的源码:泛型编程的应用2 ~> map和set的模拟实现2.1 实现出复用红黑树的框架(支持insert)2.2
2025-11-14 09:31:27
1234
129
这是比特的C语言贪吃蛇课件的压缩包,可以用来学习数据结构以及通过做贪吃蛇这个项目巩固前面链表的学习
2025-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅