自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天蓝色,只有一种

搜索yumoz,唯一的天蓝色

  • 博客(71)
  • 资源 (2)
  • 收藏
  • 关注

原创 苦恼的Bug-阿里云与Xshell连接问题总结讨论

问题描述问题描述:Connecting to 8.***.***.***:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]'.Socket error Event: 32 Error: 10053.Connection closing...Socket close.Connection closed by foreign host.Disconnected from remote host(A

2022-04-24 18:07:47 1432

原创 LeetCode606.根据二叉树创建字符串

题目描述你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/construct-string-from-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。递归思路一分析:情况四递归分析:参考代码:/**

2021-10-28 15:49:33 195

原创 进程基本介绍

文章目录进程概念进程描述进程查看进程概念观点一:程序的一个执行实例,正在执行的程序等。内核观点的概念:担当分配系统资源的实体。进程描述怎么样描述进程呢?进程信息被放在一个叫做**进程控制块(process control block,PCB)**的数据结构中,可以理解为进程属性的集合。在Linux操作系统下PCB是task_struct(Linux中描述进程的结构体)。进程查看使用命令ls /proc 查看Linux系统文件下的进程信息...

2021-09-26 21:33:27 397

原创 C++stack&queue(栈、队列、优先级队列)

文章目录stack常见成员函数stack的模拟实现queue常见成员函数queue模拟实现priority_queue仿函数常见成员函数priority_queue的实现总结stackstack是一种容器适配器,专门用在设计用于在LIFO(后进先出)中操作,其中容器仅从容器的一端插入和提取。stack被实现为容器适配器,这些类使用特定的容器类的封装对象作为其底层容器,提供一组特定的成员函数来访问其元素。元素从特定容器的“后面”即为栈顶弹出。底层:template <class T, clas

2021-09-17 22:00:50 266 1

原创 STL之list介绍及实现(list接口、模拟实现list)

文章目录1 什么是list?1.1 模拟实现预备知识2 list原型测试与实现2.1 构造函数(拷贝构造,赋值构造,析构)2.2 迭代器2.3 capacity2.4 modifiers2.4.1 assign2.4.2 push_back/pop_back/push_front/pop_front2.4.3 insert2.4.4 erase2.4.5 swap2.4.6 resize2.4.7 clear2.5 list 迭代器补充3 list迭代器失效附赠思考1 什么是list?list是可以在

2021-08-15 21:43:19 343 2

原创 vector之三(模拟实现vector)

文章目录1 vector 介绍2 vector接口模拟实现2.1 迭代器实现2.2 capacity、size、empty2.3 operator[]2.4 resize2.5 reserve2.6 push_back & pop_back2.7 insert2.8 erase2.9 拷贝构造&赋值拷贝&析构代码1 vector 介绍vector的数据安排以及操作方式与数组非常相似。两者唯一区别在于空间的运用的灵活性。数组是静态空间,一旦配置好了就不能改变,但是vector是动态

2021-08-13 21:19:02 168

原创 vector之二(迭代器失效与解决)

文章目录vector迭代器失效情况一(pos含义改变)情况二(野指针)迭代器失效修正总结vector迭代器失效迭代器的主要作用就是让算法不用关心低层数据结构,其低层实际上就是一个指针,或者是对指针进行了封装。所以迭代器失效就是:迭代器低层对应指针所指向的空间被销毁了,而使用一块已经被释放的空间,造成的后果是程序奔溃。下面从几个方面分析vector迭代器失效的几种可能:情况一(pos含义改变)会引起其底层空间改变的操作,都有可能是迭代器失效,比如:resize、reserve、insert、assi

2021-08-13 11:02:00 777

原创 vector之一(常见接口代码分析)

文章目录1 vector介绍2 vector使用2.1 常见接口2.1.1 构造函数2.1.2 vector iterator2.1.3 容量空间2.1.4 元素获取2.1.5 修改(增删查改)3 迭代器失效4 模拟实现vector1 vector介绍vector是表示可变大小数组的容器。vector比较像数组,采用连续存储空间来存储元素。可以采用下标对vector元素进行访问,和数组一样。但是,不一样在于,vector的大小是可以动态改变的,而且vector的大小会被容器自动处理。2 vector

2021-08-13 09:38:53 159

原创 剑指offer39-数组中出现次数超过一半的数字

文章目录1 题目2 题解2.1 统计每个数的出现次数2.2 排序,取中间值2.3 直接返回排序后数组中间值1 题目数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。假设这个数组是非空的,并且给定的数组总是存在多数元素。2 题解要找出数组中出现次数,超过一半的数字,那么有下面方法:2.1 统计每个数的出现次数白能量count = 1;记录数字出现次数。先找数组中第一个元素numbers[0]作为开始,并记为curNum;遍历数组,若有等于curNum的数,count++;否则继续

2021-08-05 15:54:54 119

原创 剑指offer56-II 数组中数字出现的次数

目录1 题目2 分析3 代码1 题目在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例 1:输入:nums = [3,4,3,3]输出:4示例 2:输入:nums = [9,1,7,9,7,9,7]输出:1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-ii-lcof著作权归领扣网络所有。商业转

2021-07-24 09:43:43 93

原创 模拟实现string(v1)

string的模拟实现1 先来介绍一下string2 常见用法2.1 成员函数3 模拟实现3.1 基础接口实现3.2 迭代器3.3 operator[]实现3.4 容量部分实现3.5 扩容(insert、push_back、append、+=)3.6 清理3.7 关系运算类内实现:类外实现:3.8 流运算(>>,<<,getline)4 总结1 先来介绍一下string概述:string是C++标准库里面的一个重要部分,其主要工作是用于字符串处理。2 常见用法2.1 成员函数

2021-07-23 22:00:58 191 1

原创 剑指offer05-替换空格

文章目录题目描述解析解法一:解法二:题目描述请实现一个函数,把字符串 s 中的每个空格替换成"%20"。(点此处,直接跳转至LeetCode原题出处)示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”解析解法一:使用范围for,定义,ret为一个定义的字符串,ch为从参数传来的字符串中取得的字符。判断字符是否为空格,若不为空格,只需要执行“ret += ch”,若为空格只需要执行“ret +=“%20” ”;最后返回ret的值即可。cla

2021-07-23 17:16:49 78

原创 Xshell连接云服务器(一个能代替Xshell,一个两者都可抛弃的工具)

快速定位购买云服务器下载Xshell连接到云服务器Xshell替代品什么都不用,可以连云服务器购买云服务器购买云服务器途径有很多,一般选在直接在官网购买。比如阿里云官网,腾讯云官网,华为云官网以及百度智能云官网等网站。国外的还有亚马逊云等。但,我们根据需求购买服务器,之后需要找到公网IP地址;实例密码等。注意:云服务器公网IP;云服务器实例以及密码记住。下载XshellXshell下载网站。网站长这样:下滑鼠标找到下面红色框内容:点击免费授权页面。转到下面页面,准确输入邮箱(用

2021-07-21 22:50:13 342

原创 四、Linux(缓冲区、进度条、升级Makefile)

快速定位缓冲区回车与换行缓冲区进度条实现效果注意事项代码缓冲区回车与换行首先区分一下回车和换行的含义:基准图:基准换行后:基准回车后:基准回车换行后:缓冲区了解缓冲区之前,先执行下面代码,并分析。出现上述的结果是因为刷新的策略不同导致的。左边执行的是行刷新,然而右边执行的是程序结束时刷新。刷新策略有:行刷新程序结束时刷新强制刷新文件关闭时刷新关于强制刷新,一般使用fflush函数来实现。通过下面程序来学习强制刷新。进度条实现效果注意事项进度条的刷新方

2021-07-17 22:45:06 171 1

原创 三、Linux工具(vim、gcc/g++ 、gdb、Makefile)

快速定位1 工具介绍1.1 小玩意2 Vim介绍2.1 vim基本操作1 工具介绍本段介绍的是Linux环境下的工具的一些使用。1.1 小玩意在centos下,我们使用yum来管理软件包,yum(Yellow dog Updater,Modified)是Linux下非常常用的一款包管理器。软件安装一般安装软件需要root权限,可以在root用户下安装或者使用sudo yum install *** ,这里***指的是需要安装的软件包。2 Vim介绍首先介绍一下Vi与Vim ,简单点,vi

2021-07-13 22:21:07 305 2

原创 LeetCode43--字符串相乘

1 题目描述给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。1.1分析判断num1 或 num2 是否为0或1;//1.判断单独有“0” 和 "1"的情况if(num1=="0" || num2=="0") return "0";if(num1=="1") return num2;if(num2=="1") return num1;保证效率,让大数乘小数//2. 保证效率,让大数乘小数if(num1

2021-07-08 20:43:21 109 1

原创 字符串转整形(牛客网+LeetCode)详解

1 题目展示LeetCode给出:点此处,转到LeetCode;牛客网给出:点此处,转到牛客网;1.1 LeetCode题目分析题目要求:实现把字符串转成整数这个功能;次函数根据需要,丢弃无用的开头空格字符,知道寻找到第一个非空格字符为止;第一个非空字符为正号或负号时,进行判断;环境只能存储32位大小的有符号整数。思考过程:考虑字符串前面的空格考虑正负号,得到除去符号的字符串不是数字,终止考虑大数问题参考代码:class Solution {pub

2021-07-05 22:30:21 363 1

原创 二、Linux权限(文件权限、umask、粘滞位与普通用户sudo权限)

目录速查介绍概念切换用户Linux权限管理文件类型文件权限表示及修改权限分析umask普通用户添加sudo权限粘滞位介绍概念Linux下有两种用户,其一是超级用户root、其二是普通用户。超级用户:可以完成任何操作,不受限制, 命令行提示符为 “#”;普通用户:权限有所收到限制,命令行提示符 “$”切换用户root 到 普通用户: su 普通用户名;普通用户切换到root:su -> 输入root密码;Linux权限管理先上一张图:文件类型d:文件夹-:普通文件l

2021-06-28 21:41:10 343 3

原创 一、Linux指令手册及知识入门

Linux常用指令速查命令作用补充常用ls查看当前目录内容ls -al 或 llpwd显示当前目录cd进入目录cd / & cd - & cd ~rm删除-r 递归删除 ;-f 强制删除mkdir新建目录mkdir –p test/test1 递归建立多个目录touch创建文件man命名查找cman 、man mancp拷贝可以待路径,-r递归,-f强制mv移动文件、重命名cat

2021-06-26 22:48:59 323

原创 初识C++中的string(几种遍历方式、基本函数使用)

string介绍字符串是表示字符序列的类。构造字符串对象一张图详解构造字符串的几种形式:string容量计算一张图看懂string是如何计算容量的:上述问题解答如下:()一张图看懂区别)string类对象的遍历先了解如何访问operator[]的使用:函数原型:char& operator[] (size_t pos);const char& operator[] (size_t pos) const;函数返回值: 返回对字符串中位置 pos 的字符的

2021-06-13 10:06:18 330

原创 【PDF直接下载】6G总体愿景与潜在关键技术白皮书

中文版白皮书【中文版PDF直接下载链接】6G总体愿景与潜在关键技术白皮书。英文版白皮书于是我又进入信通院官网英文版找到了这个英文版6G总体愿景与潜在关键技术白皮书。链接中国信通院官网中国信通院CAICT微信公众号...

2021-06-09 11:35:18 2117 1

原创 LeetCode203-移除链表元素(哨兵位头节点法重点解释)

题目描述给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。移除链表元素题目链接。说明题目分析题目已知head头节点,val = 6。解法:哨兵位头节点预设工作,确定各节点struct ListNode* guardHead = (struct ListNode*)malloc(sizeof(struct ListNode)); guardHead->next = head; st

2021-06-06 22:04:28 112

原创 C++模板(函数模板、类模板、模板特化、分离编译)

为什么要有模板?如果要交换两个值,如果两位数都是(int,int)则需要调用下面第一个函数void Swap(int &left, int &right),如果要交换的是(double,double)则要调用的是void Swap(double &left, double &right)。那么如果需要调用别的float,long等类型就需要在此实现函数重载,虽然也可以实现,但是相对代码的复用率比较低,代码维护性也比较低效。于是就有了泛函编程。void Swap(int &

2021-06-05 22:58:43 289

原创 C和C++内存管理(new、malloc和free、delete)

一图读懂内存分配总结一下:栈(堆栈),存放非静态局部变量、函数参数、返回值等堆,用于程序运行时动态内存分配。数据段, 存储全局数据和静态数据代码段,存放可执行的代码,或者只读常量malloc、calloc和realloc区别?malloc是在堆上动态开辟空间;calloc是堆上开空间+初始化为0;realloc是对已有空间的扩容,扩容有两种方式(原地扩容和异地扩容)原地扩容和异地扩容的差异就在扩容后地址变了。下面体验一下calloc的初始化:new & dele

2021-06-04 22:56:27 643 20

原创 C++类和对象(3)(构造函数、static成员、内部类、友元函数等)

构造函数接着C++类和对象(2)博客中介绍的构造函数继续说一下构造函数还可以怎么玩?玩法一:构造函数体赋值class Date{public: //全缺省 构造函数 函数体内赋值 Date(int year = 2020, int month = 1, int day = 1) { _year = year; _month = month; _day = day; }private: int _year; int _month;

2021-06-03 18:44:17 191

原创 牛客-打印日期

题目描述给出年分y和一年中的第n天,算出第n天是几月几号。牛客网题目链接。输入描述:输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。输出描述:可能有多组测试数据,对于每组数据, 按 yyyy-mm-dd的格式将输入中对应的日期打印出来。实例输入:2000 32000 312000 402000 602000 612001 60输出:2000-01-032000-01-312000-02-092000-02-292000

2021-06-02 20:26:38 102

原创 牛客-日期差值

题目描述有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天输入描述:有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出描述:每组数据输出一行,即日期差值示例1输入:2011041220110422复制输出:11...

2021-06-02 20:05:36 100

原创 C++类和对象(2)(this指针、6个默认成员函数、const成员)

1 this指针C++编译器给每个“非静态成员函数”增加了一个隐藏的指针参数,让该指针指向当前对象(函数运行时调用该函数的对象),在函数体中对所有成员变量的访问都是通过该指针访问的。但这个this指针对用户来说是透明的,即用户不需要来传递,编译器自动完成。简言之,请看下面程序图解:下面是一个日期类内的成员函数,通过次函数可以发现this指针在成员函数中扮演的角色。下图展示的两段程序表明this指针是成员函数中默认隐藏的,通过该指针去访问类内的成员变量。关于this指针有几个需要注意的点:thi

2021-05-29 22:36:35 181 2

原创 markdown修改文字颜色,字体,背景等

1 字体背景颜色黑体字示例微软雅黑示例华文彩云示例color=#0099ff size=6 face=“黑体”color=#00ffff背景色yellow   王佳豪 is my son. 牛啊2 图形总结2.1 UML图#mermaid-svg-mieBfBGV7mYWar43 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#33

2021-05-24 15:07:47 224

原创 堆的C语言实现

堆介绍百度百科给出堆的介绍是:堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。堆的性质:堆中某个节点的值总是不大于或不小于其父节点的值。堆总是一颗完全二叉树。堆的实现代码:堆的实现代码,点击此处。将根结点最大的堆叫做最大堆,或者大根堆。反之,根结点最小的堆叫做最小堆或者小根堆。堆的实现堆向下调整算法下面展示的小根堆的向下调整算法,对于大根堆,就需要修改小于号为大鱼号就行。总之,先上代码。注意:注意循环体范围,仔细阅读注释注

2021-05-23 21:39:52 133

原创 C++类和对象(1)

类的过度从C语言到C++说明,类的来源:C语言中,结构体中只能定义变量,在C++中,结构体中可以是变量也可定义函数。//C语言中结构体,假设定义一个栈typedef int STDataType;struct Stack{ STDataType *a; int size; int capacity;};void StackPush(struct Stack *ps, STDataType x);C++中,结构体可以定义变量也可以定义函数。//C++中的struct 兼容C所有

2021-05-22 19:16:05 99

原创 C++入门(命名空间、缺省参数、函数重载、引用、内联函数)

盲区介绍:命名空间、命名空间使用命名空间的目的是对标识符的名称进行本地化,以避免冲突或名字污染。如下图所展示,用命名空间对scanf进行隔离,于是在main函数中就可实现打印命名空间中定义的值了。因为yumoz::scanf中的“::”是阈作用限定符,所以打印结果是0,否则打印的就不是命名空间中定义的值。从上述代码可以让你对命名空间有了一个简单的了解,下面给出几种命名空间的使用方式:对命名空间的指定展开:部分展开和指定展开使用using yumoz::val展开val,而对ch进行指定展

2021-05-19 22:50:37 139

原创 栈和队列总结

栈和队列栈基础概念栈的实现压栈出栈栈顶元素栈销毁队列基本概念队列的实现队列初始化入队出队其余接口栈基础概念栈是一种特殊的线性表,只允许在固定的一段进行插入和删除元素的操作。进行数据插入和操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守LIFO(Last In First Out)原则。栈的插入操作:压栈、进栈、入栈。入数据在栈顶。栈的删除操作:出栈。出数据也在栈顶。压栈解释图:出栈解释图:栈的实现栈的实现一般可以使用数组的形式或者链表的形式,相对而言由于数据具有高速缓存,数组

2021-04-30 20:09:19 226 1

原创 链表实现分析+双向链表(快速实现)

链表介绍链表概念链表的分类链表的实现尾插头插尾删头删指定位置之前插入数据带头双向循环链表接口介绍链表初始化申请链表节点插入节点删除节点判空销毁如何快速实现双向链表链表概念链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。其结构如下:链表的分类单向、双向带头、不带头循环、不循环按照上述的描述可以将链表分为8类。下面介绍常用的两类:无头单向非循环链表特点:结构简答,实际中多维其他数据结构的子结构。如哈希桶、图的邻接表等。

2021-04-29 19:02:56 116

原创 一、线性表之顺序表

目录线性表顺序表链表线性表线性表是n个具有相同特性的数据元素的有限序列。常见的线性表:顺序表链表栈队列字符串结构:线性表在逻辑上是线性结构,也就是说连续的一条直线。但物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表顺序表是一段物理地址连续的存储单元,依次存储数据元素的线性结构,一般情况下采用数组存储。本质:是数组。缺点:动态增容有性能消耗,扩容时容易造成空间浪费,头插需要挪动数据。分类:静态顺序表:使用定长数据存储。动态顺序表

2021-04-17 17:34:56 91

原创 如何修改查找环境变量?(简单)

最近在搞一个东西,需要修改环境变量,搞了一下,做点笔记防止忘记。0 什么是环境变量?环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数。1 环境变量在哪,如何修改?1.1如何找到他?在windows自带搜索中搜索环境变量,点击编辑环境变量。1.2打开环境变量1.3打开编辑1.4 添加、修改、删除环境变量如图,所示,MinGW\bin是其中的一个环境变量。备注:环境变量添加之后,如果没有产生效果,最好重启一下电脑。..

2020-12-17 14:28:25 232

原创 C语言画图简易分析数组形式的整数加法

题目描述对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。样例:输入:A = [1,2,0,0], K=34;输出[1,2,3,4]展示:X+K=[1,2,0,0]+[0,0,3,4]=[1,2,3,4];

2020-12-09 00:11:54 403 2

原创 数字出现的次数总结

题目描述如下图所示:找出只出现一次的两个数字,其余都出现了两次。题目分析从整形数组中找出只出现一次的数字,其余都出现了两次。分析用 0 异或所有数组中元素,找出出现一次的两个数。 记:temp=0^ 3^ 2^ 3^ 6=2 ^ 6=4(二进制形式:0100)找分离temp的分离标志,sep = temp & (-temp )。4&(-4)=4(0100),其中-4在内存中是以补码存储的哦,不要弄错了。判断语句:4 & 2 (0100^0010)= 0(0

2020-12-06 12:37:45 2915 8

原创 1.LaTex简单文字段落设计代码和效果图

简单段落设计效果图:\documentclass{article}\usepackage{xeCJK}%显示汉字的包%行间距\usepackage{setspace}\onehalfspacing% 段间距\addtolength{\parskip}{.4em}%设置页边距\usepackage{geometry}\geometry{papersize={21cm,19.7cm}}\geometry{left=2.5cm,right=2.5cm,top=3.5cm,bo

2020-12-03 22:56:22 403

原创 浏览器使用时发生的问题及解决办法:ERR_TUNNEL_CONNECTION_FAILED ERR_CONNECTION_TIMED_OUT

Google的Chrome浏览器无法访问github的问题,访问结果如下图所示:解决办法:解决办法之一问题???但是操作上述步骤后,我又再一次遇到这样的问题,无法解决,用Microsoft Edge可以访问,请问如何解决Google浏览器访问GitHub的问题?希望各位大神可以给出答案。...

2020-11-30 12:26:18 5776 17

英语四线三格模板noteability和Goodnote使用

此PDF文档是自制的英语练习模板,可以下载导入到Goodnote和noteability中使用。

2020-12-24

单片机课程设计源代码——计算器设计

C语言代码 单片机课程设计计算器代码 ,保证可以用。

2018-09-23

空空如也

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

TA关注的人

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