自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (1)
  • 收藏
  • 关注

原创 【矩形面积】

给你 二维 平面上两个 由直线构成且边与坐标轴平行/垂直 的矩形,请你计算并返回两个矩形覆盖的总面积。

2023-04-18 17:09:18 848 2

原创 【最长连续序列】

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。可以设计并实现时间复杂度为 O(n) 的解决方案吗?

2023-04-09 16:36:40 267 1

原创 【乘积最大子数组】

给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。

2023-03-26 13:18:07 444 2

原创 【区间加法】

假设你有一个长度为 n 的数组,初始情况下所有的数字均为 0,你将会被给出 k​​​​​​​ 个更新的操作。其中,每个操作会被表示为一个三元组:[startIndex, endIndex, inc],你需要将子数组 A[startIndex … endIndex](包括 startIndex 和 endIndex)增加 inc。请你返回 k 次操作后的数组。

2023-03-21 23:31:46 257

原创 【项目】基于负载均衡的在线OJ项目

该项目是基于负载均衡的在线oj,模拟我们平时刷题网站(leetcode和牛客)写的一个在线判题系统。编译运行模块:基于httplib库搭建的编译运行服务器,对用户提交的代码进行测试业务逻辑模块:基于httplib库并结合MVC模式框架搭建oj服务器,负责题目获取,网页渲染以及负载均衡地将用户提交代码发送给编译服务器进行处理数据管理模块:基于MySQL数据库对用户的数据、题目数据进行管理会话模块:基于cookie和session针对登录用户创建唯一的会话ID,通过cookie返回给浏览器。

2022-08-19 14:29:14 2644 24

原创 【项目】HTTP服务器

该项目采用C/S模型,从零开始编写支持中小型应用的http,并结合mysql。整个项目服务器大体分为客户端建立连接,读取分析请求、处理请求、构建响应、构建响应几个部分。该服务器能够根据用户的请求返回简单的静态网页和动态网页,应对处理常见的错误请求。此外为了能够处理客户端发起的请求,在HTTP服务器提供的平台上搭建了CGI机制,CGI机制可以处理HTTP 的一些数据请求,并作出相应的处理。为了能够让项目更加完善,我在该服务器之上增加了一个登录和注册模块,结合mysql存储用户数据,并且部署了一个简单的计算器服

2022-07-15 19:59:06 2332 31

原创 【Linux篇】第二十篇——HTTP协议(认识协议+HTTP协议+HTTPS)

今天我要用一个例子带大家认识协议——网络计算器。我结合上一篇博客的线程池版本的TCP服务器进行编写这个网络计算器。大致过程如下:注意: 客户端将请求封装成一个数据包,该过程叫做序列化,服务端将请求数据包进行解析的过程叫做反序列化。目前市面上有json、xml等格式,都可以供程序员进行该操作。协议定制:协议的头文件如下:客户端填充请求数据包: 客户端需要让用户输入两个操作数和一个操作符,然后填充好请求数据包(序列化),并且调用将请求数据包发送过去,然后接受服务端发送过来的响应数据包,并且进行解析(反序列化

2022-07-12 16:23:28 8098 34

原创 【Linux篇】第十九篇——网络套接字编程(二)(TCP套接字的编写+多进程版本+多线程版本+线程池版本)

⭐️ 本篇博客开始给大家介绍网络编程中的套接字编程——基于UDP协议的套接字和基于TCP的套接字,这篇博客主要介绍基于UDP协议套接字,下一篇介绍基于TCP协议的套接字。在介绍套接字编程之前,我会先给大家介绍一些预备知识:源IP地址和目的IP地址、源端口号和目的端口号等,方便大家更好地理解网络套接字编写的整个流程。需要注意的是,我们是站在应用层进行编写套接字的,所以接下来会用到都是传输层的接口。话不多说,先看今天的主要内容~目录............

2022-06-20 21:45:07 2411 33

原创 【Linux篇】第十八篇——网络套接字编程(一)(预备知识+UDP套接字的编写)

⭐️ 本篇博客开始要给大家介绍网络相关的内容了,本篇博客介绍的是网络中比较基础的一些知识,能够帮助大家认识网络目录

2022-05-29 19:18:12 2497 51

原创 【Linux篇】第十七篇——网络基础(概念+协议的认识+OSI七层模型+TCP/IP五层模型+网络传输的流程)

⭐️ 本篇博客开始要给大家介绍网络相关的内容了,本篇博客介绍的是网络中比较基础的一些知识,能够帮助大家认识网络目录🌏网络的发展🌏协议🌲认识“协议”🌲协议分层🌲OSI七层模型🌲TCP/IP五层(或四层)模型🌏网络传输的基本流程🌲数据的封装和分用🌲局域网通信🌲跨网络通信🌏网络中的地址管理🌲认识IP地址🌲认识MAC地址🌲通过指令查看IP和MAC🌐总结🌏网络的发展网络的发展有下面几个阶段:独立模式: 计算机最开始是以单机模式被广泛使用的。每一台计算机都是独立的,之间不能够进行数据共享与通信.

2022-05-22 11:22:45 1420 29

原创 【C++进阶】第二十五篇——C++11(一)(列表初始化+变量类型推导+右值引用和移动语义+新的类功能+可变模板参数)

⭐️接下来的几篇博客,我会给大家介绍C++11的相关内容,今天主要介绍一部分基本语法,有一部分C++11的语法在前面的博客中有介绍过,例如:范围for、final和override关键字和nullptr这样的表示空指针关键字等⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class-code目录🌏C++11简介🌏列表初始化🌲用法🌲initializer_list🌏变量类型推导🌲auto类型推导🌲decltype类型推导🌲运行时类型推导🌏右值引用和.

2022-05-16 16:45:35 666 29

原创 【Linux篇】第十六篇——多线程(四)(读写锁+线程池)

⭐️ 本篇博客主要介绍读写锁和线程池相关的内容。我会给大家简单实现一个内存池,方便大家理解。

2022-05-03 20:02:25 1062 44

原创 【Linux篇】第十五篇——多线程(三)(生产消费模型+POSIX信号量)

⭐️ 本篇博客开始要继续给大家介绍线程同步和互斥的实际应用——生产者消费者模型,还要给大家介绍一种同步的机制——POSIX信号量目录生产者消费者模型生产者消费者模型概念: 生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过一个来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个阻塞队列就是用来给生产者和消费.

2022-04-30 09:00:00 1055 34

原创 【Linux篇】第十四篇——多线程(二)(线程同步和互斥+线程安全+条件变量)

⭐️ 本篇博客开始要继续给大家介绍多线程相关的知识,这篇博客内容比较丰富,耐心看完会有所收获。目录线程互斥线程互斥

2022-04-27 17:58:59 2090 36

原创 【Linux篇】第十三篇——多线程(一)(线程概念+线程控制)

⭐️ 本篇博客开始要给大家介绍多线程相关的知识,本篇博客主要讨论多线程的概念和多线程的控制目录

2022-04-24 17:10:29 4257 43

原创 【Linux篇】第十二篇——信号(概念+信号的产生+阻塞信号+捕捉信号)

⭐️ 本篇博客要给大家介绍一些关于进程间通信的一些知识。其中包括信号是什么,如何产生的,信号如何保存,什么时候处理,如何捕捉信号等等一些问题,在今天的博客中,你都将找到答案。目录了解信号了解信号...

2022-04-16 19:06:13 2009 42

原创 【Linux篇】第十一篇——进程间通信(管道+system V共享内存)

⭐️ 本篇博客要给大家介绍一些关于进程间通信的一下知识。Linux下进程通信常见的几种方式,例如管道、共享内存等。目录介绍管道认识管道匿名管道创建匿名管道——pipe使用匿名管道进行通信介绍概念: 进程间通信(IPC,Interprocess communication)是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。这使得一个程序能够在同一时间里处理许多用户的要求。IPC方法包括管道(PIPE)、消息排队、旗语、共用内存以及套接字(socket.

2022-04-09 19:37:11 2306 34

原创 【Linux篇】第十篇——动静态库(动静态库的介绍+动静态库的打包与使用)

⭐️上一篇博客介绍了基础IO相关的一些内容。这篇博客要继续聊一聊关于动静态库相关的一些内容。在之前的学习过程中,我们也会使用C/C++的相关的库,这些库都是由不同的语言打包好了的,我们直接调用即可。下面我们就会好好聊一聊相关内容。目录动静态库的概念静态库的打包与使用静态库的打包静态库的使用动静态库的概念静态库: Linux下,以.a为后缀的文件。程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库。本质是在编译时把静态库中的代码(不是一次性加载,而是分页加载)复制到了.

2022-04-02 17:59:13 2537 40

原创 【Linux篇】第九篇——基础IO(系统文件IO+文件描述符+重定向+文件系统+软硬链接)

⭐️这篇博客就要开始聊一聊Linux中基础IO相关知识,IO相信大家都不陌生,我们在C/C++中对文件进行读写的操作,也就是文件IO,这篇博客我也会带大家回顾一下。这篇博客还会介绍系统中的文件IO调用的接口,还有文件系统相关的内容和概念,文件描述符等相关知识的分享。目录C语言文件IO介绍C语言文件操作库函数的简单使用C语言默认打开的三个流系统文件IO系统调用接口的介绍openC语言文件IO介绍C语言文件操作库函数的简单使用C语言的专栏中有专门讲到这一块知识,这里会介绍一些,更细节的内容可以参.

2022-03-29 18:19:31 3522 39

原创 【数据结构高阶】第十一篇——并查集(原理+实现+应用)

⭐️ 今天要和大家介绍一个新的数据结构——并查集。听名字好像是把集合合并再查找元素,其实总体来说也是这样的,下面我们来和大家好好聊一聊这个玩意~⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/data-structure/commit/de7024a7498be71a78c18d22b7a7caee53f3ffb4目录🌏概念和原理🌏实现🌲整体框架🌲查找元素属于那个集合🌲合并两个集合🌲统计集合个数🌏应用🌐总结🌏概念和原理并查集: 在一些有N个元素的集.

2022-03-23 18:02:28 1147 31

原创 【数据结构高阶】第十篇——二叉搜索树(AVL树+红黑树)

我在C++的专栏中把这块内容都介绍了,点击下方链接即可查看,感谢大家支持~:博客链接二叉搜索树https://blog.csdn.net/weixin_58450087/article/details/123058484AVL树https://blog.csdn.net/weixin_58450087/article/details/123090533红黑树https://blog.csdn.net/weixin_58450087/article/details/12

2022-03-23 17:59:46 1899

原创 【Linux篇】第八篇——Linux下的进程控制(进程创建+进程终止+进程等待+进程程序替换+简易shell的实现)

⭐️这篇博客就要开始聊一聊进程控制相关的内容了,这部分的内容十分的丰富且十分的重要,序号这一块内容是非常有必要的目录进程创建fork函数写时拷贝进程终止进程退出的三种场景进程常见的退出方法进程等待进程等待的方法进程创建fork函数fork这个函数我在第一次讲进程创建的那篇博客中介绍过了,关于fork的返回值和用法可以去看右边这篇博客,这里就简单说明一下。(Linux进程)fork函数也是一个系统调用接口,为当前进程创建子进程,子进程返回0,父进程返回子进程的pid,出错返回-1进程调.

2022-03-20 13:19:05 3094 35

原创 【C++进阶】第二十四篇——布隆过滤器(概念+实现+海量数据处理问题)

⭐️这篇博客要给大家介绍一个新的数据结构——位图。位图听上去就是和比特位相关联,它有什么作用呢,下面为大家介绍。⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class-code目录......

2022-03-18 21:44:56 4011 18

原创 【C++进阶】第二十三篇——位图(概念+实现)

⭐️这篇博客要给大家介绍一个新的数据结构——位图。位图听上去就是和比特位相关联,它有什么作用呢,下面为大家介绍。⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class-code目录🌏概念🌏实现🌲整体框架🌲把某一位设置为1🌲把某一位设置为0🌲判断某一位是否为1🌲测试🌏位图的应用🌐总结🌏概念位图: 所谓位图,就是用每一位来存放某种状态,适用于海量数据,数据无重复的场景。通常是用来判断某个数据存不存在的。适用场景: 如果我们需要对大量的数据.

2022-03-14 14:00:00 1863 20

原创 【Linux篇】第七篇——进程地址空间(程序地址空间+虚拟地址空间)

⭐️这篇博客就要和大家介绍进程地址空间相关内容,学完这个部分,我们会对进程的地址空间有一个全选的了解目录程序地址空间进程地址空间程序地址空间先看厦门下面一张图,在之前C/C+博客的内存管理中放过这张图,相信大家对这个不陌生吧。这篇博客有详细的介绍——C/C++内存管理下面我们通过一个代码来证明上面的地址空间分布图:代码运行结果如下:为了更深入地理解,我们用做了这样一个测试:#include <stdio.h>#include <stdlib.h>#inc.

2022-03-13 20:36:33 6154 19

原创 【C++进阶】第二十二篇——unordered_map和unordered_set(容器接口介绍和使用+底层代码实现)

⭐️上一篇博客和大家介绍了关于哈希表和哈希桶的内容,今天就要用开散列的哈希表来实现今天要介绍的两个容器——unordered——map和unordered_set。⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class-code目录...

2022-03-12 18:03:49 1940 13

原创 【C++进阶】第二十一篇——哈希(概念+哈希函数+哈希冲突+哈希表+哈希桶+代码实现)

⭐️今天我要和大家介绍一种新的算法思想——哈希,其中哈希中会用到的转换函数称为哈希函数,构造出来的结构叫哈希表(散列表)⭐️博客哈希表和哈希桶完整代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class-code目录🌏概念🌏哈希函数🌏哈希冲突🌏哈希冲突的解决🌲闭散列🍯概念🍯哈希表闭散列的实现(采用线性探测)🐚哈希表整体框架🐚插入元素🐚查找元素🐚删除元素🌲开散列🍯概念🍯哈希表开散列实现(哈希桶)🍯整体框架🐚插入元素🐚查找元素🐚删除元素🐚字符串哈希🐚构建一个.

2022-03-10 20:34:42 1630 26

原创 【Linux篇】第六篇——环境变量(概念+作用+环境变量的查看和应用)

⭐️这篇博客就要开始聊一聊进Linux下环境变量相关内容了,相信大家或多或少都听过环境变量这个词把,我们在Windows操作系统下也能够看到它,而且我们之前应该都有配置过这个玩意,但是却不理解这是个啥,今天我就带大家来了解一下这个小玩意儿~目录概念为什么要有环境变量?环境变量相关指令环境变量组织方式通过代码获取环境变量通过系统调用获取环境变量环境变量的全局属性总结概念环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,它是系统中某些具有.

2022-03-06 21:40:57 1498 19

原创 【Linux篇】第五篇——Linux下的进程(冯若依曼体系结构+操作系统+进程相关内容)

⭐️这篇博客就要开始聊一聊进程相关的内容了,这聊这个之前,我们还需要了解一下操作系统相关和管理的概念,这样更加有助于我们了解进程的内容了。目录冯若依曼体系结构操作系统进程概念冯若依曼体系结构冯·诺伊曼体系结构是现代计算机的基础,现在大多计算机仍是冯·诺伊曼计算机的组织结构。(下面是一张冯若依曼体系结构的图片)存储器: 对应的是我们电脑中的内存中央处理器CPU: 其中由运算器和控制器两个部分构成输入设备: 包括键盘、硬盘、鼠标等输出设备: 硬盘、显示器等(输入设备和输出设备统称为外设).

2022-03-05 21:43:43 1722 21

原创 【Linux篇】第四篇——Linux环境下的工具(二)(make/Makefile+进度条小程序)

⭐️上一篇博客介绍了Linux环境下的文本编辑工具,软件包管理工具,编译代码和调试代码的工具,这篇博客我还要介绍有关项目自动化构建工具——make/Makefile。目录项目自动化构建工具make/Makefile介绍依赖关系和依赖方法make/Makefile的使用进度条小程序\r和\n行缓冲区进度条总结项目自动化构建工具make/Makefile介绍用简短的语言描述make和Makefile两个工具就是:make是一条指令,Makefile是一个文件。几点介绍:在一个项目中,Make.

2022-03-01 17:16:35 922 11

原创 【C++进阶】第二十篇——map和set(map和set的用法+multimap+multiset+map和set代码实现)

⭐️今天的这一篇博客,我要跟大家介绍二叉搜索树中的另一颗树——红黑树树,它主要是通过控制颜色来控制自身的平衡,但它的平衡没有AVL树的平衡那么严格。⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class-code目录关联式容器键值对setset的介绍set的使用set的几个构造函数set的迭代器set的大小和容量set的插入和删除非成员函数mapmap的介绍map的用法map的几个构造函数map的迭代器大小和容量插入和删除operator[](.

2022-02-28 22:52:47 1263 22

原创 【C++进阶】第十九篇——红黑树(概念+代码实现)

⭐️今天的这一篇博客,我要跟大家介绍二叉搜索树中的另一颗树——红黑树树,它主要是通过控制颜色来控制自身的平衡,但它的平衡没有AVL树的平衡那么严格。⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class-code目录概念和性质红黑树的实现红黑树节点定义红黑树结构定义红黑树的插入方法概述调整节点颜色概念和性质红黑树的概念:红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。它是通过控制节点颜色.

2022-02-26 20:21:39 2852 32

原创 【Linux篇】第三篇——Linux环境下的工具(一)(yum + vim + gcc/g++ +gdb)

⭐️这篇博客我要给大家介绍Linux环境下的一些工具。比如Linux的软件管理器yum,文本编辑器vi/vim,编译器gcc和g++,还有代码调试器gdb等。目录软件包管理器yum介绍使用方法rzsz工具vim编辑器概念vim正常模式下的命令vim底行模式的命令简单的vim配置软件包管理器yum介绍Linux下软件安装的几种方式:源码安装:源码安装会带来交叉编译的问题,源码在不同的环境下可能会有不同的效果,导致安装十分麻烦。这种安装方式用的比较少。rpm安装:rpm安装相对上面的方式比较.

2022-02-25 18:45:08 1144 15

原创 【C++进阶】第十八篇——AVL树(概念+平衡因子的调节+旋转+代码实现)

⭐️今天的这一篇博客,我要跟大家介绍一颗树——AVL树,它也是一颗二叉搜索树,它就是在二叉搜索树中加了一个平衡因子的概念在里面,下面我就来和大家聊一聊这棵树是个怎么样的树。⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class-code目录概念AVL树的实现AVL树的节点定义AVL树的插入方法概述平衡因子的调节正常情况旋转处理(出现了不平衡子树)概念二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元.

2022-02-23 22:20:03 872 23

原创 【C++进阶】第十七篇——二叉搜索树(概念+二叉搜索树实现+二叉搜索树的应用+二叉树性能分析)

⭐️从这篇博客开始,我就要和大家介绍有关二叉搜索树的知识,它还衍生出了两棵树——AVL树和红黑树,在后面两排博客我都会介绍。今天先从二叉搜索树开始引入。⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class-code目录概念二叉搜索树的实现基本框架二叉搜索树的插入二叉搜索树的查找二叉搜索树的删除(重点)二叉搜索树的应用概念二叉搜索树又称为二叉排序书,因为这棵树的中序遍历是有序的。二叉搜索树总结起来有以下几个性质:若它的左子树不为空,则.

2022-02-22 20:46:31 1389 10

原创 【C++进阶】第十六篇——C++中的多态(多态的概念+多态的实现+抽象类+多态的原理)

⭐️上一篇博客我和大家聊了聊关于继承的内容,继承是C++的三大特性之一,今天要和大家聊一聊有关C++的三大特性中的最后一个——多态。⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class-code目录多态的概念虚函数多态构成的条件C++11override和final多态的概念多态: 从字面意思来看,就是事物的多种形态。用C++的语言说就是不同的对象去完成同一个行为会产生不同的效果。虚函数虚函数: 被virtual关键字修饰的.

2022-02-21 14:50:01 1071 23

原创 【Linux篇】第二篇——权限管理(文件的访问权限+文件权限的修改+文件掩码+目录权限)

⭐️上一篇博客介绍了Linux中的常用指令,今天就带大家来了解一下Linux中有关权限的概念。目录????Linux下的用户????文件的权限????文件的访问者????文件类型和访问权限????文件权限值的表示????权限设置????chmod????chown????chgrp????umask????目录权限????介绍????粘滞位????给用户sudo分配权限????总结????Linux下的用户在Linux下有两种用户:超级用户(root)和普通用户超级用户具有最高的权限,做任何事

2022-02-18 13:19:21 1527 16

原创 【C++进阶】第十五篇—C++中的继承(继承的概念+菱形继承+虚拟继承+组合)

⭐️今天我要给大家介绍C++中更深入的内容了。C++这门语言为了使代码不冗余,做了些什么操作呢?C++的继承就很好地实现了类层次的代码复用,今天我就要来和大家好好聊一聊它了。⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class-code目录继承的概念继承的定义基类和派生类对象之间的赋值转换继承中的作用域派生类的默认成员函数继承的概念继承:继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩.

2022-02-17 16:51:50 941 20

原创 【Linux篇】第一篇——基本指令(使用方法+图示)

2022-02-15 13:10:35 8184 34

原创 【C++初阶】第十三篇—模板进阶(非类型模板参数+模板特化+模板的分离编译)

⭐️今天我要给大家介绍C++中的模板更深的一些知识。有关于非类型的模板参数和模板特化的一些知识。⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class-code目录????非类型模板参数????模板的特化????函数模板的特化????类模板的特化????模板的分离编译????总结????非类型模板参数模板参数分类类型形参与非类型形参。类型模板形参:出现在模板参数列表中,跟在class或者typename后面的参数类型名称。(这个我们

2022-02-13 21:18:16 859 9

gighmmpiobklfepjocnamgkkbiglidom_4.38.0_chrome.zzzmh.cn.crx

adblock 广告拦截助手

2021-12-25

空空如也

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

TA关注的人

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