自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

107

107的成长之路

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

原创 1.链表中倒数第k个节点

两种相同的方法不同的写法产生的问题:题目:输入一个链表,输出该链表中倒数第k个结点。写法1:/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode*...

2020-03-31 15:13:32 9441 1

原创 19.调整数组奇偶数

题目输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。本题通过两种方法:方法一:直接在创建两个数组,遍历输入数组,将奇数存放到数组1中,将偶数存放数组2中,再将两数组合并;这样做时间复制度为O(N),空间复杂度为O(N);比较简单代码就不再这显示了方法二...

2020-03-31 00:59:30 9535 1

原创 集合篇1.算法与数据结构

@[算法与数据结构之一]算法和数据结构是程序员的内力;1.如何有效的学好算法和数据结构《异类一不一样的成功启示录》作者:马尔科姆精通一个领域:==Chunk it up(切碎知识点)Deliberate practicing(刻意的练习)—>不舒服、枯燥、乏味的地方;Feedback(反馈)---->看高手代码(Github,Leetcode等)==- 数...

2020-03-30 00:14:48 9765 1

原创 11.struct与union计算方式、编译的四个过程、c++11新特性等

C++知识点41.Struct和union在内存中占用空间大小的计算2.final 和override3.STL4.C++11新特性5.C++编译的四个过程6.C++中的strict和class的区别7.枚举8.std::initialize_list9.线程池的实现10.函数11.const和define的区别1.Struct和union在内存中占用空间大小的计算struct和union在内...

2020-03-29 00:46:23 9671 1

原创 10.运算符重载、Effectiva等

C++知识点32.运算符重载3.指针4.Effective C++5.C++内存管理1.C++会自动生成的成员函数如果程序使用对象的方式要求这样做,而用户没有自己定义如何做,那么编译器将会生成下列函数的定义:(1)默认构造函数:默认构造函数要么没有参数,要么所有的参数都有默认值,如果没有定义任何构造函数,编译器将定义默认构造函数,下列情况将使用默认构造函数Star rigel; S...

2020-03-28 01:37:45 10230 1

原创 9.多继承与类模板

C++知识点之二1.多态--虚函数2.多重继承、虚基类、虚继承3.类继承-派生类访问基类的友元4.类模板1.多态–虚函数C++中序函数表位于只读数据段(.rodata),也就是C++内存模型中的常量区;而序函数则位于代码段(.text),也就是C++内存模型中的代码区;函数的重写/覆盖:(1)不再同一作用域(分别在基类和派生类);(2)函数名、参数、返回值类型都相同(返回类型协变除外...

2020-03-26 01:05:43 19484 1

原创 正则表达式总结

1、特殊符号的使用符号含义^指出一个字符串的开始 如"^thh" ;所有以the开始的$指出一个字符串的结束*匹配前一个字符0次或n次+匹配前一个字符1次或n次?匹配前一个字符 0 次或1次,如"a?b+$" 表示字符串末尾有零个或1个a跟着一个或多个b{}用{}括起来,表示重复次数的范围 ,如ab{3,5} :表示一个字符串有一个...

2020-03-24 15:44:23 19368 1

原创 docker总结

1.解决的问题由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上时需要进行大量的环境配置和操作。Docker主要解决环境配置的问题;是一种虚拟技术;2.与虚拟机的比较启动速度启动虚拟机需要先启动虚拟机的操作系统,再启动应用,这个过程非常慢;而启动Dokcer相当于启动宿主系统上的一个进程;占用资源:docker只是一个进程,只需要将应用及相关...

2020-03-24 15:20:31 19297 1

原创 15.C++面经

@[C++面经-师兄版]1.操作系统进程切换为什么要切换内核栈;为了数据安全;…malloc申请的是虚拟内存还是物理内存,两者之间的关系,怎么转换?虚拟内存;虚拟内存实际上是操作系统对于内存管理的一种方式,这些内存对应的物理地址,应用程序本身是无法知道的;虚拟内存映射到物理地址:linux虚拟内存和物理内存的理解malloc申请完空间时立即在堆区分配一块实际的物理空间...

2020-03-24 00:13:52 10096 1

原创 8.智能指针、类型转换、转换函数等

C++复习11.说明符和限定符2.智能指针3.c++类型转换4.宏定义中#和##的作用5.static变量6.new和定位new运算符7. 类继承、虚函数以及运算符重载;v![在这里插入图片描述](https://img-blog.csdnimg.cn/20200323212426354.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVp...

2020-03-23 23:20:32 10349 1

原创 2.git相关知识

git 属于分布式版本控制系统冲突冲突:两个分支都对同一个文件的同一行进行了修改,在分支合并时就会产生冲突; git会使用<<< =====>>>标记出不同分支的内容;工作流git的版本库有一个称为Stage的暂存区以及最后一个History版本库,History存储所有分支信息,使用一个HEAD指针指向当前分支;- git add files -...

2020-03-23 15:32:41 9923 3

原创 计算机网络总结

计算机网络总结1.概述2.物理层3.数据链路层3.1封装成帧3.23.2信道分类1.概述1.主机之间的通信方式:客户-服务器(C/S),对等(P2P);2.总延时=排队延时+处理延时+传输延时+传播延时;传输延时:主机或路由器传输数据帧所需要的时间;传播延时:电磁波在信道中传播所需要的时间;3.计算机网络体系结果1.应用层:为特定应用程序提供数据传输服务;如HTTP,DNS等协...

2020-03-22 19:55:33 10263 1

原创 linux复习总结

Linux复习总结前言1.常用命令2.磁盘3.分区3.1开机检测程序4.文件系统5.文件5.1 修改权限5.2链接5.2获取文件内容5.3指令与文件搜索6.压缩和解压(需要再看)7.bash7.1变量操作8、管道指令8.1提取指令8.2双向输出重定向8.3字符转换指令9.正则表达式9.1、awk命令10.进程管理10.SIGCHLD10.1wait()10.2、waitpid()10.3、孤儿进程...

2020-03-21 01:58:25 10099 1

原创 7.贪心算法理解

贪心算法理解1.贪心算法基本思想1.1贪心算法基本思路:1.2会场安排问题实例1.贪心算法基本思想贪心算法:在对问题求解时,总是作出当前看来最好的选择,也就是说,不从整体最优上加以考虑,它所做的仅是某种意义上的局部最优解;选择贪心算法必须具备无后效型,即在某个状态以后的过程不会影响以前的状态,只与当前状态有关;1.1贪心算法基本思路:(1)建立数学模型;(2)把求解问题分成若干个子...

2020-03-20 16:55:20 9521 1

原创 2.C++使用心得

笔记二1.堆栈操作心得1.堆栈操作心得s.top()是取出栈顶元素; 堆栈里面还存在;s.pop()是出堆栈,并不会返回出堆栈的元素;1.两个堆栈实现一个队列的思想;入栈时: s1作为入栈操作;出栈时:先将s1的入s2中,再取出栈顶元素并出栈;在将s2的元素入s1;始终保持s2为空;...

2020-03-20 01:20:17 9557 1

原创 1.vector与树的操作

那里不会看那里1.vector定义二维数组2.字符串操作1.vector定义二维数组1.很多时候类中的二维数组的维度往往无法提前知道,因此需要动态的分配内存;使用new运算符,操作不当往往会操作内存溢出/泄露;vector<vector > array表达的是array是一个二维的int型的vector(实际上相当于一个二维数组);vector<vector > ...

2020-03-18 00:52:36 6037 1

原创 6.重要关键字

C++重要基础知识二1.常用关键字1.1const:1.2volatile:1.3mutable:1.4decltype:1.5static:1.6 this:1.7inline1.8 sizeof1.9 pragma pack1.10 extern1.11 switch和go1.常用关键字1.1const:1.用于声明常量,表示变量是不可以修改的;2.const引用可以延长临时变量的声明...

2020-03-17 00:25:33 9486 1

原创 5.C++内存池、内存分配

C++重要语言基础1.语言基础1.1空间的配置与释放--std:alloc(SGI实现)1.2内存池1.语言基础1.1空间的配置与释放–std:alloc(SGI实现)SGI标准模版库:设计时需要考虑的问题:从堆区申请内存空间;考虑多线程;考虑内存不足时的应对措施;考虑大量小区块可能造成的内存碎片问题;SGI的alloc类是使用了双层配置器:分别处理大内存请求和小内存请...

2020-03-16 01:54:15 9610 1

原创 4.C++指针与引用

C++指针与引用1.指针1.1C++空指针1.2指针运算1.4指向指针的指针1.5传递指针给函数1.6从函数中返回指针2.引用2.1引用和指针的区别2.2C++中创建引用2.3把引用作为参数2.4把引用作为返回值1.指针每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字符(&)运算符访问的地址,他表示在内存终端地址:#include <iostream>u...

2020-03-09 18:10:42 147 1

原创 8.详解红黑树

详解红黑树1.红黑树介绍2、红黑树操作2.1、旋转操作2.2插入2.3删除1.红黑树介绍红黑树是一种自平衡的二叉查找树,是一种高校的查找树,y由当时被称为对称二叉B树(symmetric binary B-trees)发展而来;红黑树具有良好的效率,可以在O(logN)时间内完成查找、增加、删除等操作;红黑树通过如下定义实现自平衡:==1). 节点是红色或黑色2).根是黑色;...

2020-03-08 22:35:37 9481 1

原创 3.C++函数调用过程

C++内存管理1.函数中普通变量的内存分配问题2.函数中数组变量的内存分配问题3.函数调用堆栈的过程1.函数中普通变量的内存分配问题当一个函数进行调用时,函数的形参、以及函数的局部变量都会在栈中被分配内存,而栈又分两种;栈低不变,栈顶不断动态变化;栈顶不变,栈低在动态变化;#include <iostream>using namespace std;void p...

2020-03-08 17:31:05 19977 1

原创 2.ubuntu下使用g++编译cpp工程

linux下使用g++编译cpp工程1.单个文件生成可执行程序2.多个源文件生成可执行文件3.编译预处理4.生成汇编代码5.源文件生成对象文件(目标代码、机器代码)6.创建静态库C++编译中相关文件后缀文件含义.a静态库(archive).C .c .cc .cp .cpp .cxx .c++c++源代码(需要编译预处理).hC或C++源代码的头文...

2020-03-08 15:21:31 10193 1

原创 1.继承与多态的理解与实例

c++多态的理解与实例1.private,public,protected关键字的理解2.C++继承2.1覆盖和隐藏基类成员变量或成员函数2.2继承时的构造函数和析构函数;2.3浅拷贝(位拷贝)和深拷贝2.4构造方法2.4.1 初始化列表2.5析构方法2.6多继承与虚基类1.private,public,protected关键字的理解private:它定义的只能由该类函数及其友元函数访问,不...

2020-03-07 15:01:07 10372 1

原创 7.ubuntu18配置VScode并运行c++项目

ubuntu18配置VScode并运行c++项目1.Ubuntu18安装VScode并配置;2.配置VScode4.常用快捷键1.Ubuntu18安装VScode并配置;终端安装:sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-makesudo apt-get updatesudo apt-get install ubuntu-ma...

2020-03-06 16:11:09 11314 5

原创 6.动态规划策略原理与例题

java动态规划策略原理及例题1.动态规划定义2.动态规划的解题核心3.动态规划的应用场景4.例子1.动态规划定义动态规划的意义是通过采用递归(或分而治之)的策略,通过解决大问题的子问题从而解决整体的做法。动态规划的核心思想是巧妙的将问题拆分为多个子问题,通过计算子问题而得到整个问题的解。子问题又可以拆分成更多的子问题,从而用类似递推迭代的方法解决问题;2.动态规划的解题核心动态规划...

2020-03-04 15:22:33 10010 1

原创 ubuntu火狐浏览器安装flash_player插件

1.下载安装包 tar.gz安装包flash下载地址2.解压并配置tar -zxvf *tar.gzsudo cp libflashplayer.so /usr/lib/mozilla/plugins/将解压的usr文件拷贝到系统/usr下:sudo cp -r usr/* /usr3.重启浏览器...

2020-03-03 16:21:41 10030 1

原创 Ubuntu截图软件:flameshot

1.安装配置flameshot一个ubunut下截图工具,特别方便简单:-安装flameshotsudo apt install flameshot设置>设备>键盘,设置一个自定义快捷键(拉到最下面)命令填写:flameshot gui截完图后保存Ctrl+S,复制到剪贴板* Ctrl+C*;...

2020-03-03 14:38:30 9911 1

原创 ubuntu系统下VirtualBox安装windows虚拟机

1.安装VM VirtualBox虚拟机管理器在终端直接输入:sudo apt install virtualbox2.创建虚拟机首先下载正确的系统版本(一般不要安装最新版本,可能使用会出现错误)在管理----全局设定----常规----修改虚拟电脑位置;在创建的虚拟机里面-----设置----系统 -----启动顺序里面—勾选网络; 处理器-----修改处理器数量然后双...

2020-03-03 14:33:10 19760 1

原创 ubuntu使用启动盘创建器安装Ubuntu16系统,简单记录

ubuntu使用启动盘创建器安装系统的一些心得1. 安装过程中,无法进入安装操作界面;2.安装过程不要连网,安装速度好快;更新软件源;3.更新软件源和软件4.还没有完,重启你会发现电脑卡死,解决方法,安装NVIDIA;1. 安装过程中,无法进入安装操作界面;使用u盘安装时,在进入尝试使用系统、安装系统、…;这个界面时,选择Install ubunut, 按e,在quiet splash —后...

2020-03-02 20:51:40 20358 1

空空如也

空空如也

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

TA关注的人

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