自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 资源 (3)
  • 收藏
  • 关注

原创 leecode面试经典150题

给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n。

2024-04-06 16:26:28 831

原创 c++部分题

inline函数时内联函数,通常和类一起使用。用于取代c语言中的菜参数的宏定义在C语言中使用宏可以提高执行效率,但宏本身并不是函数。使用宏最大的缺点就是容易出错,预处理器在拷贝在红代码时常常会产生意想不到的边际效应。另外宏另一个缺点就是不可调试,而内联函数可以调试。c++而言使用红代码还有一种缺点,无法操作类的私有数据成员。内联函数的的另一个优点是,,函数被内敛后编译器可以通过上下文相关的优化技术对结果代码执行更加深入的优化。

2024-03-27 14:38:43 853

原创 力扣1----10(更新)

时间复杂度:O(N)O(N)O(N),其中 NNN 是数组中的元素数量。对于每一个元素 x,我们可以 O(1)O(1)O(1) 地寻找 target - x。空间复杂度:O(N)O(N)O(N),其中 NNN 是数组中的元素数量。主要为哈希表的开销。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。C语言的并不好理解,涉及的东西有点多,你可以想出一个时间复杂度小于。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。

2024-03-25 12:47:34 354

原创 mysql 学习

数据库(database) 保存有组织的数据的容器(通常是一个文 件或一组文件)。SQL(发音为字母S-Q-L或sequel)是结构化查询语言(Structured Query Language)的缩写。SQL是一种专门用来与数据库通信的语言SQL有如下的优点。 SQL不是某个特定数据库供应商专有的语言。几乎所有重要的 DBMS都支持SQL,所以,学习此语言使你几乎能与所有数据库 打交道。 SQL简单易学。它的语句全都是由描述性很强的英语单词组成, 而且这些单词的数目不多。

2024-03-20 14:36:08 1098 1

原创 Linux系统编程

【代码】Linux系统编程。

2024-03-19 17:26:32 408

原创 Linux 系统编程

通过三位八进制数控制不同用户 一位八进制写成二进制可以分别表示读写执行因为简洁,灵活,比较高效。

2024-03-19 09:56:16 1395

原创 算法(结合算法图解)

算法是一组完成任务的指令。算法与编程语言无关算法是一种思考。Dijkstra算法是一种用于计算图中单源最短路径的算法,由荷兰计算机科学家艾兹赫尔·戴克斯特拉(Edsger W. Dijkstra)于1956年发明。它适用于权重非负的有向图或无向图。该算法通过维护一个距离集合来实现,在集合中选择一个距离最短的顶点,然后更新其他顶点到起始顶点的距离。算法的基本思想是从起始顶点开始,逐步扩展离起始顶点距离最短的顶点,直到到达目标顶点或者无法继续扩展为止。

2024-03-12 06:41:39 1231

原创 3.11 笔记4

在计算机科学中,"垃圾"通常指的是不再被程序使用但又没有被正确释放的内存或资源。内存泄漏是指程序在运行过程中动态分配的内存未被释放的情况,导致系统中的可用内存逐渐减少,最终可能导致程序崩溃或者系统变慢。及时释放内存:在动态分配内存后,一定要记得在不需要使用该内存时及时释放,使用free函数释放内存。避免重复分配:在循环或者迭代中,避免重复动态分配内存,应该尽量复用已经分配的内存。使用栈上的内存:对于不需要长时间存储的数据,可以考虑使用栈上的内存,而不是动态分配内存。使用工具检测内存泄漏。

2024-03-11 15:50:51 962

原创 3.11笔记3

局部变量(local variable)是在函数或代码块内部定义的变量,它的作用域仅限于定义它的函数或代码块内部。局部变量在函数或代码块执行结束后会被销毁,不能在函数或代码块外部访问。外部变量(external variable)是在函数或代码块外部定义的变量,它的作用域从定义处开始,直到文件结束或被另一个作用域覆盖为止。外部变量可以在文件中的任何地方被访问,但是如果在函数内部使用外部变量,则需要使用extern关键字进行声明。局部变量的作用域仅限于定义它的函数或代码块内部。

2024-03-11 12:49:24 857

原创 3.11笔记2

请用一个表达式 (不能添加括号) 判断某一年是否为闰年。

2024-03-11 11:21:30 212

原创 3.11笔记

进程是操作系统中的一个概念,它是程序执行时的一个实例。进程是一个具有一定独立功能的程序关于某个数据集合上的一次运行活动,它是操作系统进行资源分配和调度的一个独立单位。代码段(Text Segment):存储程序的执行代码,通常是只读的,存放CPU执行的机器指令。数据段(Data Segment):存储程序中已初始化的全局变量和静态变量,包括全局变量、静态变量和常量。堆(Heap):用于存放动态分配的内存,即运行时可变大小的内存块,由程序员分配和释放。栈(Stack)

2024-03-11 10:37:01 953

原创 康威生命游戏

生命游戏(Game of Life)是一种细胞自动机,由数学家约翰·康威于1970年提出。它是一种零玩家游戏,意味着其演变是由初始状态决定的,无需玩家干预。生命游戏在一个二维的网格上进行,每个网格代表一个细胞,每个细胞有两种状态:存活或死亡。生命游戏的初始状态由玩家设定,在初始状态设定后,游戏按照规则自动演化。生命游戏虽然简单,但展示了一些复杂的行为,包括稳定的模式、移动的模式和以及可以实现计算的模式。【数学狂】因游戏而出名的数学家:约翰·康威和他的"生命游戏"B站 有翻译的youtube视频 推荐。

2024-03-09 20:38:47 274

原创 python编程从入门到实践答案二

编写5条if语句,每条都检查某种水果是否包含在列表中,如果包含在列表中,就打印一条消息,如“You really like bananas!假设在游戏中刚射杀了一个外星人,请创建一个名为alien_color的变量,并将其设置为’green’、‘yellow’或’red’。·再创建一个包含5个用户名的列表,将其命名为new_users,并确保其中有一两个用户名也包含在列表current_users中。创建一个列表,其中包含你喜欢的水果,再编写一系列独立的if语句,检查列表中是否包含特定的水果。

2024-03-09 12:11:16 936

原创 python编程从入门到实践答案一

名言:找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。如果程序太简单,实在没有什么需要说明的,就在程序文件开头加上你的姓名和当前日期,再用一句话阐述程序的功能。名言2:重复练习2-5,但将名人的姓名存储在变量famous_person中,再创建要显示的消息,并将其存储在变量message中,然后打印这条消息。剔除人名中的空白:存储一个人名,并在其开头和末尾都包含一些空白字符。将你最喜欢的数字存储在一个变量中,再使用这个变量创建一条消息,指出你最喜欢的数字,然后将这条消息打印出来。

2024-03-08 20:31:31 473

原创 c++起别名

左值引用并不是起别名,它是一种引用类型,用于引用一个左值(可寻址的对象)。左值引用允许我们通过引用的方式操作变量,而不是通过复制它们的值。左值引用通常用于函数参数、返回值、以及在赋值操作中。是 C++ 中用来定义类型别名的关键字,可以认为它是一种早期的起别名方式。这种方式可以使代码更易读,尤其在模板和复杂类型的使用时,起别名可以简化代码,提高可读性。关键字来给类型、模板或者命名空间起别名。仍然是合法且常用的方式,因此可以说。是一种起别名的方式。在 C++ 中,可以使用。在语法上有一些限制,而。

2024-03-06 11:00:04 296

原创 3.6知识点

在计算机编程中,流(stream)是一种用于输入和输出的抽象概念。流可以看作是数据在输入设备(如键盘、磁盘文件)和输出设备(如屏幕、打印机)之间的传输通道。流可以是单向的(输入流或输出流),也可以是双向的(输入输出流)。在 C++ 中,流是通过标准库提供的类来实现的。输入流 (istream):用于从输入设备读取数据,如cin对象。输出流 (ostream):用于向输出设备写入数据,如cout和cerr对象。输入输出流 (iostream):同时具有输入和输出功能,如cincout和cerr对象。

2024-03-06 10:14:59 899

原创 c++primer第三章 术语表

2024-03-05 18:47:50 321

原创 c++关键字

标准 C++ 关键字这里是以表格形式展示 C++ 关键字的列表:

2024-03-05 13:47:55 194

原创 c++primer第二章 术语表

c++术语表

2024-03-05 12:13:51 64

原创 c++primer第一章术语表

术语表

2024-03-04 22:22:58 175

原创 Linux系统编程

在使用 select、poll、epoll 等函数时,通常会将需要监视的文件描述符添加到监视集合中,然后调用相应的系统调用进行等待,直到有文件描述符准备就绪或超时。一旦有文件描述符就绪,就可以通过遍历监视集合来找到就绪的文件描述符,并进行相应的读写操作。不同的系统调用在实现细节上有所不同,例如 select 是基于轮询实现的,poll 是基于链表实现的,而 epoll 则使用了事件通知机制,可以更加高效地处理大量的并发连接。目录在文件系统中是以一种特殊的文件形式存在的,用来存储文件和子目录的信息。

2024-03-04 19:55:40 989

原创 如何从底层优化memmove

先实现memmove优化策略:要从底层优化memmove,你需要深入理解memmove的实现原理和底层优化技术。memmove用于在内存中移动一块数据到另一块位置,通常用于处理重叠内存区域的情况。:确保内存块的起始地址是对齐的,这可以提高内存访问的效率。:使用SIMD(Single Instruction, Multiple Data)指令集来加速内存移动操作。比如,对于x86架构,可以使用SSE(Streaming SIMD Extensions)指令集。

2024-03-01 11:42:30 498

原创 github的吉祥物

GitHub的吉祥物Octocat的来历可以追溯到2007年,当时设计师Simon Oxley为一个客户项目设计了一个章鱼猫的形象。Octocat迅速成为GitHub的标志性形象,被广泛用于GitHub的品牌推广、宣传和产品设计中。Octocat这个名字是由"octo"(代表八个触手)和"cat"(代表猫)组成,形象上是一个带有八只触手的猫头。这个设计结合了章鱼和猫的元素,创造出了一个独特且有趣的形象。章鱼猫(Octocat)是GitHub的吉祥物,形象是一个下半身为章鱼的爪子,上本身为猫头的卡通形象。

2024-02-27 22:05:25 326

原创 2.27小知识点

当函数被调用时,会为其局部变量分配内存,当函数执行完毕时,这些变量所占用的内存会被自动释放。在现代的Windows系统中,A盘和B盘通常用于表示软盘驱动器。然而,由于软盘的使用逐渐减少,大多数新计算机不再配备软盘驱动器,因此A盘和B盘在这些系统中通常被保留或用于其他目的。总的来说,A盘和B盘通常与软盘驱动器相关联,但随着技术的发展和存储介质的改变,它们在现代计算机系统中的作用已经大大减少。在使用这些不同类型的内存时,程序员需要注意内存的分配、使用和释放,以确保程序的正确性和效率。

2024-02-27 12:03:11 459

原创 gdb的使用(简单)

gdb的调试

2024-02-25 09:47:06 517

原创 C primer plus 复习题答案 上

第二句没有指明应该读取多少数据。所以address被分配的内存可能不够用来存放用户输入的数据,从而导致数组越界,发生程序崩溃或者某些不可预知的后果。有效,打印出该字符串首字符的地址。

2024-02-23 15:47:15 344

原创 c++ primer plus 编程答案 上

天文单位是从地球到太阳的平均距离(约150000000公里或93000000英里),光年是光一年走的距离(约10万亿公里或6万亿英里)(除太阳外,最近的恒星大约离地球4.2光年)。请使用double类型,转换公式为:1光年=63240天文单位.7.编写一个程序,要求用户输入小时数和分钟数。其中一个函数要调用两次,该函数生成前两行;另一个函数也被调用两次,并生成其余的输出。转换公式:华氏温度 = 1.8×摄氏温度 + 32.0。

2024-02-23 15:46:21 746

原创 从it方面介绍部分好玩的电影

从程序员的角度来看,这种设定类似于递归函数的调用,每次时间旅行都相当于进入了一个新的递归层级,而影片中的角色则像是在递归函数中不断改变自己的参数和状态,导致了不同的结果和结局。曾经占据市场的90%,但对手是如日中天的微软,雇佣的程序员千人,免费,捆绑。:影片中的角色面临着自己的过去和未来之间的冲突,他们的行动似乎受到了命运的束缚,但同时又展现出了自己的自由意志。这种命运与自由意志的对立和融合,类似于程序中的随机性和确定性之间的平衡,人物的决定和行动既受到了外部因素的影响,也受到了内在选择的驱动。

2024-02-22 20:46:00 767

原创 2.22 常见知识点

黑洞文件(/dev/null)是一个特殊的设备文件,在类 Unix 系统中用于丢弃数据。当数据写入黑洞文件时,它会被永久丢弃,不会存储或传输到其他地方。黑洞文件在一些情况下很有用,比如将不需要的输出重定向到黑洞文件可以避免在终端或日志中显示。丢弃输出:将不需要的输出重定向到黑洞文件,例如可以将命令的标准输出丢弃。禁止输出:有些命令可能会输出一些提示或信息,但这些信息不是必需的。通过重定向到黑洞文件,可以禁止这些不必要的输出。空文件生成:通过向黑洞文件写入数据,可以生成一个大小为零的文件,例如。

2024-02-22 12:22:35 304

原创 2.20记录 常见知识点

在Linux系统中,bin目录通常包含了许多系统和用户可执行的命令,比如常见的ls、cp、mv等命令就位于/bin目录中。在Linux系统中,bin是一个常见的文件夹名称,通常用于存放可执行文件(即二进制文件)的目录。除了/bin目录外,还有一些类似的目录,如/usr/bin、/sbin等,它们也用于存放不同类型的可执行文件。通常是指配置文件(configuration files)的文件夹,用来存放程序或系统的配置文件。文件夹通常是源代码管理工具(如Git)的一个约定目录,用于存放项目的源代码文件。

2024-02-20 17:55:02 287

原创 git学习

Git 仓库中的提交记录保存的是你的目录下所有文件的快照,就像是把整个目录复制,然后再粘贴一样,但比复制粘贴优雅许多!Git 希望提交记录尽可能地轻量,因此在你每次进行提交时,它并不会盲目地复制整个目录。条件允许的情况下,它会将当前版本与仓库中的上一个版本进行对比,并把所有的差异打包到一起作为一个提交记录。Git 还保存了提交的历史记录。这也是为什么大多数提交记录的上面都有父节点的原因 —— 我们会在图示中用箭头来表示这种关系。对于项目组的成员来说,维护提交历史对大家都有好处。

2024-02-20 08:23:58 1125

原创 部分交换 c

【代码】部分交换 c。

2023-09-17 12:53:19 83

原创 c++面试题

STL是C++标准库的重要组成部分,其中包括了一系列的容器(Container),用于存储、管理和访问数据。vector:vector是一个动态数组,可以在尾部快速添加或删除元素,支持随机访问,但插入和删除操作需要移动后续元素。list:list是一个双向链表,可以在任意位置快速添加或删除元素,但不支持随机访问。deque:deque是一个双端队列,支持在队头和队尾快速添加或删除元素,支持随机访问。stack:stack是一个栈,只能在栈顶添加或删除元素。

2023-06-23 21:30:00 347

原创 .conf文件

文件使用了类似于 Nginx Web 服务器的格式,分别描述了 Nginx 的全局设置、事件模块的设置以及 HTTP 模块中一个虚拟主机的设置。文件的格式化文本文件,通常用于存储程序或系统的配置信息。文件可以被人工编辑,也可以通过相应的工具来编辑和管理。文件,并根据其中的配置信息来初始化相关的参数和选项,从而影响程序或系统的行为和功能。文件用于存储 Nginx Web 服务器的配置信息等等。文件经常用于存储各种软件和服务的配置信息,比如。文件用于存储 MySQL 数据库的配置信息,下面是一个简单的示例。

2023-06-17 12:31:30 2167

原创 c++常见问题 3

友元(friend)是一种定义在类外部的普通函数或类,但他需要的类体内进行说明。友元不是成员函数,但他可以访问类中的私有成员友元提供了一种普通函数或者类成员函数,访问另一个类型中的私有或者保护成员的机制。

2023-06-13 22:24:23 508

原创 统计一个词出现的次数(英文)

【代码】统计一个词出现的次数(英文)

2023-06-13 16:32:01 71

原创 c++常见问题 3

constconst。

2023-06-11 08:41:28 373

原创 c++常见问题 2

内联函数在编译时展开,宏在预编译时展开;内联函数直接潜逃到目标代码中,宏时简单的做文本替换内联函数由类型检测语法判断等功能,而宏没有 inline 函数时函数,宏不是;宏定义时要注意书写(参数要括起来)否则容易出现歧义,内联函数不会产生歧义拷贝构造函数是一种特殊的构造函数,用于创建一个新对象并将其初始化为同类型的另一个对象。它通常在以下场景中被调用:将一个对象作为参数传递给函数时,会调用该对象的拷贝构造函数来创建一个新对象。

2023-06-10 21:33:35 533

原创 c++常见问题 1

指针的只想位置是不可知的(随机的,不正确的,没有明确限制的)指针变量在定义时没有进行初始化,其值是随机的,意味着指针指向了一个地址不确定的变量。简单说的野指针是指向一个已经删除的对象或未申请访问受限内存区域的指针。都可以进行内存分配和释放,但在实际应用中,需要根据具体情况选择合适的函数。引用与指针的区别是什么?都是用于在程序运行时动态分配和释放内存的函数,但它们之间有一些区别和联系。malloc的底层实现是怎样的?free是怎么回收内存的?野指针也称为悬空指针,值得是不指向任何合法的对象的指针。

2023-06-10 15:22:07 739

原创 c++关键词

关键字alignasalignofandand_eqasmatomic_cancelatomic_commitatomic_noexceptautobitandbitorboolbreakcasecatchcharchar8_tchar16_tchar32_tclasscomplconceptconstconstevalconstexprconst_castcontinueco_awaitco_return

2023-06-10 15:08:56 31

pythonlearn练习文件

python练习文件

2024-03-24

C语言实现万年历相关文件

输入1970年之后任意一年的年份,输出该年的年历。对话如下: ``` 输入: Please input the year whose calendear you want to know? 2004 输出: |=====================The Calendar of Year 2004====================| : 1 SUN MON TUE WED THU FRI SAT 7 SUN MON TUE WED THU FRI SAT : : 1 2 3 1 2 3 : : 4 5 6 7 8 9 10 4 5 6 7 8 9 10 : : 11 12 13 14 15 16 17 11 12 13 14 15 16 17 : : 18 19 20 21 22 23 24 18 19 20

2024-03-11

后端,面试,c++ ,找工作

## sizeof和strlen的区别 sizeof是一个操作符,strlen是库函数。 sizeof的参数可以是数据的类型,也可以是变量,而strlen只能以结尾为‘0‘的字符串作参数。 编译器在编译时就计算出了sizeof的结果。而strlen函数必须在运行时才能计算出来。并且sizeof计算的是数据类型占内存的大小,而strlen计算的是字符串实际的长度。 *数组做sizeof的参数不退化,传递给strlen就退化为指针了。* ## C中的malloc和C++中的new有什么区别 malloc和new有以下不同: (1)new、delete是操作符,可以重载,只能在C++中使用。 (2)malloc、free是函数,可以覆盖,C、C++中都可以使用。 (3)new可以调用对象的构造函数,对应的delete调用相应的析构函数。 (4)malloc仅仅分配内存,free仅仅回收内存,并不执行构造和析构函数 (5)new、delete返回的是某种数据类型指针,malloc、free返回的是void指针。 注意:malloc申请的内存空间要用free释放,而new

2023-06-23

关于服务器性能优化方法

## 什么是服务器并发处理能力? 一台服务器在单位时间里能处理的请求越多,服务器的能力越高,也就是服务器并发处理能力越强。 **服务器的本质工作就是,争取以最快的速度将内核缓冲区中的用户请求数据一个不剩地都拿出来,然后尽快处理,再将响应数据放到一块又能够与发送数据的缓冲区中,接着处理下一拨请求。** ## 什么方法衡量服务器的并发能力? 衡量服务器并发处理能力的方法有很多,以下是一些常见的方法: 1. TPS(Transactions Per Second):每秒事务数,即服务器每秒钟能够处理多少个请求。TPS是衡量服务器性能最常用的指标之一。 2. QPS(Queries Per Second):每秒查询数,与TPS类似,但更关注数据库查询的数量。 3. RPS(Requests Per Second):每秒请求数,是服务器最直接的衡量标准,它可以度量所有类型的请求,包括静态和动态内容。 4. 响应时间:服务器对请求做出响应的时间,通常使用平均值或中位数来衡量。 5. 吞吐量:服务器在一定时间内处理的请求数量,通常使用总请求数量除以总处理时间来计算。 6. 并发连接数:同时

2023-06-01

操作系统相关的部分面试题

## 1. 进程和线程的区别? * 调度:进程是资源管理的基本单位,线程是程序执行的基本单位。 * 切换:线程上下文切换比进程上下文切换要快得多。 * 拥有资源: 进程是拥有资源的一个独立单位,线程不拥有系统资源,但是可以访问隶属于进程的资源。 * 系统开销: 创建或撤销进程时,系统都要为之分配或回收系统资源,如内存空间,I/O设备等,OS所付出的开销显著大于在创建或撤销线程时的开销,进程切换的开销也远大于线程切换的开销。 ## 2. 协程与线程的区别? * 线程和进程都是同步机制,而协程是异步机制。 * 线程是抢占式,而协程是非抢占式的。需要用户释放使用权切换到其他协程,因此同一时间其实只有一个协程拥有运行权,相当于单线程的能力。 * 一个线程可以有多个协程,一个进程也可以有多个协程。 * 协程不被操作系统内核管理,而完全是由程序控制。线程是被分割的CPU资源,协程是组织好的代码流程,线程是协程的资源。但协程不会直接使用线程,协程直接利用的是执行器关联任意线程或线程池。 * 协程能保留上一次调用时的状态。 ## 3. 并发和并行有什么区别? 并发就是在一段时间内,多个任务都

2023-05-30

mysql必知必会学习笔记

mysql必知必会学习笔记

2023-05-11

如何编写makefile

关于makefile的编写,皓叔的。

2023-02-26

c++/C语言 后端学习 基础学习

c++/C语言 后端学习 基础学习 基础资料,c带书签

2022-05-29

c++/c参考手册chm

c++查询手册,相关函数,+98_C++03_C++11_C++14_C++17_C++20.chm

2022-05-29

一年份遗忘曲线复习计划表

一年份遗忘曲线复习计划表

2022-05-29

空空如也

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

TA关注的人

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