自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liitdar的博客

逆水行舟,不进则退

  • 博客(199)
  • 收藏
  • 关注

原创 “3Sum”类问题总结

3Sum”类问题,属于已排序的“Two Sum”类问题的升级版,都是给定一个已排序(升序或降序)的整型数组,然后在该数组中寻找若干个值,这些值的总和等于给定的target值。

2023-04-03 21:37:41 586 1

原创 Counting Sort算法介绍

Counting sort是一种基于给定范围数值的排序技术。该算法首先计算给定输入序列(如数组)中每个对象的数量,同时将对象数量值存储在临时数组的对应索引处,最后通过一系列算术操作计算出每个对象在输出序列中的位置。

2023-03-29 18:49:15 724

原创 C++编程语言STL只begin和end函数介绍

c.begin()形式:返回指向容器首元素的iteratorbegin(array)或begin(c)形式:返回数组的头指针c.end()形式:返回指向紧挨尾元素的元素的iteratorend(array)或end(c)形式:返回紧挨数组尾指针的指针说明:对于end函数来说,给定范围的“终止点”并不包含在给定范围内,而是紧挨着范围内最后一个可用元素的元素。c:包括begin成员函数/end成员函数的容器array:任意类型的数组。

2023-03-29 11:36:47 2598

原创 C++编程语言STL之sort函数介绍

sort函数是C++的STL提供的用于对vector或array(中元素)进行排序的函数。sort函数通常使用两个参数,第一个参数是vector或array中待排序的起始点;第二个参数以起始点为基准、加上待排序的长度得到的终止点。sort函数也有第三个参数,当我们想要对元素进行灵活地(如“降序”等)排序时,就可以使用第三个参数了。默认情况下,sort函数以升序排序元素。

2023-03-29 10:49:14 309

原创 “Two Sum”类问题总结

对于“Two Sum”类问题,基本要求为:给定一个整数数组,在该数组中找到两个元素,这两个元素之和等于给定的数字(target),返回这两个元素的索引(下标)值。

2023-03-28 11:12:42 218

原创 C++编程语言STL之set及相关容器介绍

关联容器(associative-container)和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的。虽然关联容器的很多行为与顺序容器相同,但其不同之处反映了关键字的作用。关联容器支持高效的关键字查找和访问。两个主要的关联容器类型为map和set。map中的元素是一些关键字-值(key-value)对:“关键字”起索引的作用,“值”则表示与索引相关联的数据。set中每个元素只包含一个关键字。

2023-03-27 20:55:16 425

原创 算法的时间复杂度与空间复杂度介绍

算法(Algorithm)是指用来操作数据、解决程序问题的方法。对于同一个问题,使用不同的算法,也许最终得到的结果是相同的,但在执行该算法所需的时间和(存储)资源可能会有很大的区别,那么我们应该如何去衡量不同算法之间的优劣呢?目前主要是从算法所占用的“时间”和“空间”两个维度去进行评价。时间维度是指执行算法所消耗的时间,通常用“时间复杂度”来描述,空间维度是指执行算法需要占用的内存空间大小,通常用“空间复杂度”来描述。

2023-03-19 18:07:39 1006

原创 树的几种遍历方法介绍

与线性数据结构(如数组、链表、队列、栈)只有一种遍历逻辑方法不同,树可以通过不同的方法进行遍历。常见的树的遍历方法包括:中序遍历(InOrder Traversal)、前序遍历(PreOrder Traversal)及后序遍历(PostOrder Traversal)。

2023-03-14 17:04:32 3156

原创 Fibonacci sequence及相关问题介绍

本文主要介绍Fibonacci sequence(斐波那契数列)的相关知识,同时通过示例代码介绍相关问题的解决方法。

2023-03-14 15:59:36 310

原创 C++编程语言STL之queue介绍

适配器(adaptor)是STL中的一个通用概念。容器、迭代器和函数都有适配器。本质上,适配器是一种机制,它能使某种事物的行为看起来像另外一种事物。容器适配器接受一种已有的容器类型,使其行为看起来像另外一种不同的(容器)类型。queue就是STL定义的一种顺序容器适配器,其中的数据是以FIFO(First In First Out)的方式组织的。

2023-03-09 17:12:37 482

原创 C++编程语言STL之stack介绍

适配器(adaptor)是STL中的一个通用概念。容器、迭代器和函数都有适配器。本质上,适配器是一种机制,它能使某种事物的行为看起来像另外一种事物。容器适配器接受一种已有的容器类型,使其行为看起来像另外一种不同的(容器)类型。stack就是STL定义的一种顺序容器适配器,其中的数据是以LIFO(Last In First Out)的方式组织的。

2023-03-09 16:37:46 587

原创 在Qt中设置鼠标光标形状的方法介绍

本文主要介绍在 Qt 中设置鼠标光标形状的方法。

2023-01-03 14:46:19 3079

原创 在Qt中设置窗体背景颜色及透明度的方法介绍

本文主要介绍在 Qt 中设置窗体背景颜色及透明度的方法。

2023-01-03 11:30:05 10150

原创 删除Microsoft Word中空白页的方法

本文中涉及到的 Microsoft Word 的版本信息为 Microsoft Office Word 2016。

2022-11-01 16:55:30 1197

原创 Windows 10操作系统自带的远程桌面的使用方法

本文主要介绍 Windows 10 操作系统自带的远程桌面的使用方法。

2022-10-18 19:13:07 4167

原创 Windows 10操作系统中开启Ping功能(ICMP)的方法

本文主要介绍在 Windows 10 操作系统中打开启 Ping 功能,即 ICMP 回显请求的方法。

2022-10-17 17:40:49 17245

原创 Shell脚本中for循环的使用方法

本文主要介绍 Shell 脚本中 for 循环的使用方法。实际上,在 Shell 脚本中不止有一种 for 循环使用方法,本文通过简单的示例,展示 for 循环的使用方法。

2022-08-15 16:41:50 1618

原创 Shell脚本中$符号的嵌套使用方法

本文主要介绍在编写 Shell 脚本时,通过嵌套使用 $ 符号,间接获取变量或表达式的值的具体方法。此时,就可以通过 eval 命令解决上述问题了。下面通过一个示例来展示通过 eval 命令实现 $ 符号嵌套使用的方法。先说结论,在 Shell 脚本中,可以通过使用。来实现 $ 符号的嵌套使用。......

2022-08-15 10:14:17 2948

原创 Windows 10操作系统常用快捷键介绍

本文主要介绍 Windows 10 操作系统中常用的快捷键。(1)新建资源管理器窗口快捷键:Ctrl + N功能描述:当文件资源管理器是当前窗口时,此快捷键会打开一个新的文件资源管理器窗口,其文件夹路径与当前窗口相同。说明:对于 Chrome 浏览器,此快捷键也有类似的作用(会打开一个新的浏览器窗口)。(2)显示或隐藏桌面快捷键:Windows键 + D功能描述:显示或隐藏桌面。(3)打开文件资源管理器快捷键:Windows键 + E功能描述:打开文件资源管理器。......

2022-06-17 10:00:12 1517

原创 Qt Creator 7.0常见问题和常见用法

本文主要介绍 Qt Creator 7.0 系列版本(如 Qt Creator 7.0.1)的常见问题和常见用法。Qt Creator 是跨平台 Qt 集成开发环境(IDE),可在 Windows、Linux 和 macOS 桌面操作系统上运行,并允许开发人员在桌面、移动和嵌入式平台创建应用程序。Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易地完成开发任务。本章主要介绍在使用 Qt Creator 7.0 系列版本的过程中的常见问题和常见用法。通过 Notepad

2022-06-17 09:17:37 652

原创 将图片背景设置为透明的方法介绍

本文主要介绍使用 Windows 系统自带的“画图 3D”应用程序将图片背景设置为透明的具体方法。Windows10 操作系统自带的“画图 3D”应用程序,如下图所示:现有一张背景图为蓝色的 png 格式图片,如下图所示:下面介绍将该图片的背景设置为透明的方法。1. 使用“画图 3D”应用程序打开该图片;2. 在“画图 3D”界面中,点击“神奇选择”按钮(该操作默认会选择整个图片);3. 点击界面右侧的“下一步”;4. 选择界面右侧的“删除”图标,然后去勾选“自动填充背景”选项,如下图所示:5. 点击上图中

2022-06-16 22:54:12 15459

原创 在Qt中设置程序图标的方法介绍

本文主要在 Qt 中设置程序图标的方法。说明:在 Windows 操作系统中,程序图标一般会涉及三个地方,以文件搜索软件“everything”为例,程序图标分别为:下面介绍使用 Qt 编写 Windows 桌面应用程序时,上面这三个图标的具体设置方法。本章详细介绍设置程序图标的方法。首先,通过 Qt Creator 为项目创建一个新的资源文件,如下图所示:然后根据实际情况填写文件名和路径信息,如下图所示:点击上图中的“Next”按钮,完成资源文件的创建。创建好的资源文件会自动添加到项目中,如下图所示:右键

2022-06-16 20:48:19 10757

原创 Windows操作系统正版盗版知识简介

本文简要介绍 Windows 操作系统的正版盗版相关知识。首先,介绍一下盗版的概念。盗版是指在未经版权所有人同意或授权的情况下,新制造商利用版权所有人拥有著作权的作品、出版物等,制造出跟源代码完全一致的复制品、而后再进行复制品分发的行为。在绝大多数国家和地区,此行为被定义为侵犯知识产权的违法行为,甚至构成犯罪,会受到所在国家和地区的处罚。盗版系统从 Windows 9X 时代就出现了,那时候微软的防盗技术还不成熟,只要输入产品密钥就可以激活操作系统了。后来到了 Windows XP 盛行时,激活方式改为联网

2022-06-15 11:19:12 4494

原创 Linux操作系统中的make及makefile介绍

本文主要介绍 Linux 操作系统中 make 及 makefile 的相关知识。1 Whatmake 是一个在软件开发过程中所使用的工具程序(utility software),通过读取“makefile”文件以实现自动化建构软件。make 是一种转化文件形式的工具,转换生成的目标称为“target”,同时,make 也检查文件之间的依赖关系,如果需要的话,它会调用一些外部软件来完成任务。make 的依赖关系检查系统非常简单,主要根据依赖文件的修改时间进行判断。make 使用“makefile

2022-03-23 20:45:11 3208

原创 Linux操作系统中GDB工具常见用法(二)

本文主要介绍 Linux 操作系统中 GDB(The GNU Project Debugger)工具的常见用法。1 分析core文件gdb 的一个常见的使用场景,就是对于程序崩溃同时产生 core 文件时,对程序崩溃原因进行调试分析。使用 gdb 分析程序及其 core 文件的命令样式如下:gdb program core下面通过一个示例,来介绍一下使用 gdb 分析可执行程序及其 core 文件的过程。示例项目文件中包含一个可执行程序“h264_rtsp_server”,以及一

2022-03-23 17:07:16 1670

原创 C/C++编程语言中指针(pointer)介绍

本文主要介绍 C/C++ 编程语言中指针(pointer)的相关知识,同时通过示例代码介绍 C/C++ 编程语言中指针的常见用法。1 What指针,是 C/C++ 编程语言中的一个重要概念。指针通常可以理解为内存地址,而指针变量就是用来存放内存地址的变量。在同一 CPU 架构下,不同类型的指针变量所占用的存储单元的长度是相同的(而存放数据的变量因数据类型的不同,所占用的存储空间长度也不同)。例如,在 64 位操作系统(安装在 X64 CPU 架构之上)中,指针变量占用 8 字节。通过使用指针,不仅可

2022-02-26 20:07:24 3599

原创 Linux操作系统中awk语言常见用法

本文主要介绍 Linux 操作系统中 awk 语言的常见用法。1 概述1.1 What引用 Manual 手册中关于 awk 的介绍,内容如下:gawk - pattern scanning and processing languageGawk is the GNU Project's implementation of the AWK programming language. It conforms to the definition of the language in the

2022-02-17 16:39:09 494

原创 Linux操作系统中sed工具常见用法

本文主要介绍 Linux 操作系统中 sed(stream editor)工具的常见用法。1 概述1.1 What引用 Manual 手册中关于 sed 的介绍,内容如下:sed - stream editor for filtering and transforming text.Sed is a stream editor. A stream editor is used to perform basic text transformations on an input strea

2022-02-15 18:01:05 801

原创 SQL中WHERE子句介绍

本文主要介绍 SQL(Structured Query Language)语句中 WHERE 子句的相关知识,并介绍其常见用法。1 概述SQL 中的 WHERE 子句用于过滤记录,提取那些满足指定条件的记录。2 常见用法2.1 等号与IN操作符可以通过在 WHERE 子句中使用等号“=”或“IN 操作符”添加查询条件,两者的不同点在于:“IN 操作符”可以匹配多个值,而等号“=”只能匹配一个值。用法示例如下:mysql> mysql> select * from ro

2021-09-03 10:41:22 1144

原创 Linux下的iftop命令介绍

本文主要介绍Linux 操作系统中 iftop命令的相关内容。1 概述Linux 操作系统中的 iftop 命令来自 iftop 软件包,iftop 软件包的描述如下:Command line tool that displays bandwidth usage on an interfaceiftop 手册(man iftop命令)中的介绍信息如下:iftop - display bandwidth usage on an interface by host.iftop...

2021-07-26 18:57:04 2699

原创 链表简介(三)——在单向链表中删除节点

本系列文章简要介绍链表的相关知识。本文是系列文章的第三篇,将介绍在单向链表中删除节点的方法,并给出代码示例。1 概述在单向链表中删除节点,首先要根据预先确定的节点标志,判断待删除节点是否存在于链表之中,如果链表中不存在该节点,则无需进行删除操作。如果该节点存在于链表之中,在删除该节点时,还需要区分以下两种情况:待删除节点是链表的首节点; 待删除节点不是链表的首节点(即该节点是中间节点或末尾节点)。下面通过伪代码的形式介绍在单向链表中删除节点的算法。算法:DeleteLinkedli

2021-07-12 19:46:46 1049 1

原创 链表简介(二)——在单向链表中插入节点

本系列文章简要介绍链表的相关知识。本文是系列文章的第二篇,将介绍在单向链表中插入节点的方法,并给出代码示例。1 概述在单向链表中插入节点,是要将待插入节点插入到链表的“合适”位置中。所以,这里需要一个前提条件:单向链表中的各节点是按其某个成员(如学生的成绩)的值有序排列(如由小打到)的。只有具备了这个前提条件,才能进行针对单向链表的节点插入操作。为了将待插入节点插入到链表的“合适”位置中,需要进行两个步骤:找到链表中合适的位置; 将节点插入到步骤1找到的位置中。下面通过伪代码的形式介

2021-07-10 16:53:11 4226

原创 链表简介(一)——创建单向动态链表及输出单向链表内容

本系列文章简要介绍链表的相关知识。本文将介绍创建链表和输出链表内容的方法,并给出示例代码。1 概述链表(linked list)是一个数据的集合,其中每个元素包含下一个元素的地址,即每个元素包含两部分内容:数据(data)和链(link)。数据部分包含可用的信息;链则将数据连在一起,它包含一个指向链表中下一个元素的指针(地址)。说明:链表中的元素习惯上被称为节点。链表是动态地进行存储分配的一种数据结构,与数组相比,链表可以根据需要动态地开辟内存单元,并且链表中的节点在内存中是非连续的。

2021-07-09 17:41:09 903

原创 二分查找简介

本文简单介绍二分查找的相关知识。1 概述如果一个列表是无序的,那么顺序查找(sequential search)是唯一可选的元素查找办法;但是对于有序列表(sorted list),就可以选择效率更高的二分查找(也称折半查找)算法。二分查找从一个列表的中间元素来测试,判断目标元素在列表的前半部分还是后半部分。如果在前半部分,就不需要查找后半部分;如果在后半部分,就不需要查找前半部分,也就是说,通过此判断可以减少一半的列表的查询工作。重复此过程直到找到目标元素的位置,或者确定目标元素不在这个列表里

2021-06-24 14:50:08 229

原创 插入排序算法介绍

本文介绍插入排序(Insertionsorts)算法的相关知识。1 算法介绍在插入排序中,数字列表可分为两个子列表:已排序的和未排序的,它们通过假想的一堵墙分隔开。在排序过程中,将未排序子列表中第一个元素(按照数字升降顺序)插入到已排序子列表中合适的位置,再将假想的这堵墙(根据实际情况朝着对应方向)移动一个元素位置,这样每次排序后,已排序子列表中的元素将增加一个,同时未排序子列表中的元素将减少一个,每次把一个元素从未排序子列表移动到已排序子列表就完成了一轮排序。一个含有n个元素的数字列表需要 .

2021-06-23 17:39:38 298

原创 MSE(Media Source Extensions)介绍

本文介绍 MSE(Media Source Extensions) 的相关知识。1 概述MSE(Media Source Extensions),即媒体源扩展,可以理解为一种API,其提供了实现无插件且基于 Web 的流媒体的功能。通过MSE,媒体串流能够通过JavaScript 创建,并且可以使用 HTML5 的 <audio> 和 <video> 标签进行播放。2 why MSE以前,用户在通过Web浏览器浏览网页内容,尤其是视频内容时,需要使用诸如Adob...

2021-04-08 16:41:33 4759

原创 HTML5介绍

本文主要介绍 HTML5 的相关知识。1 概述HTML5(HyperText Markup Language 5)结合了 HTML4.01 的相关标准并革新,符合现代网络发展要求,在2008年正式发布,是构建以及呈现互联网内容的一种语言方式,是互联网的核心技术之一。HTML 产生于1990年,1997年 HTML4 成为互联网标准,并广泛应用于互联网应用的开发。HTML5 在2012年已形成了稳定的版本。与传统的技术相比,HTML5 的语法特征更加明显,并且结合了 SVG 的内容,这些内容在

2021-03-31 10:03:57 2387 1

原创 HTML介绍

本文主要介绍 HTML 的相关知识。1 概述HTML(Hyper Text Markup Language),即超文本标记语言,是一种标记语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。HTML文件的扩展名为htm(因为之前的文件系统最多只支持三位扩展名)或html。超文本(Hyper Text)是一种组织信息的方式,它通过超

2021-03-26 17:57:31 4958

原创 WebRTC简介

本文简单介绍 WebRTC 的相关知识。1 概述WebRTC(Web Real-Time Communication),即网页即时通信,是一个支持网页浏览器进行实时语音对话或视频对话的 API。WebRTC 于2011年6月1日开源,并在 Google、Mozilla、Opera 支持下被纳入万维网联盟的W3C推荐标准。WebRTC项目的最终目的,是让Web开发者能够基于浏览器(Chrome\FireFox\...)简单快捷地开发出丰富的实时多媒体应用,而无需下载安装任何插件。在此过程中,Web

2021-03-25 12:46:07 346

原创 RTMP简介

本文简单介绍 RTMP 的相关知识。1 概述RTMP(Real Time Messaging Protocol),即实时消息(传输)协议,是由 Adobe 公司基于 TCP 开发的一个协议族,其中包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种协议。RTMP 协议族中的主要协议:RTMP 工作在 TCP 之上,默认使用端口 1935; RTMPE 在 RTMP 的基础上增加了加密功能; RTMPT 封装在 HTTP 请求之上,可穿透防火墙; RTMPS 类似 RTMP

2021-03-17 10:39:48 1944

空空如也

空空如也

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

TA关注的人

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