自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

努力成为Al风口的猪

分享技术 乐享生活 All in Al

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

原创 面试总结------操作系统

1.操作系统特点并发性、共享性、虚拟性、不确定性。2.​​​​​​​什么是进程进程是指在系统中正在运行的一个应用程序,程序一旦运行就是进程; 进程可以认为是程序执行的一个实例,进程是系统进行资源分配的最小单位,且每个进程拥有独立的地址空间; 一个进程无法直接访问另一个进程的变量和数据结构,如果希望一个进程去访问另一个进程的资源,需要使用进程间的通信,比如:管道、消息队列等 线...

2020-03-28 16:25:29 359

原创 秋招总结------C++面试题总结五

1.​this指针调用成员变量时,堆栈会发生什么变化?当在类的非静态成员函数访问类的非静态成员时,编译器会自动将对象的地址传给作为隐含参数传递给函数,这个隐含参数就是this指针。即使你并没有写this指针,编译器在链接时也会加上this的,对各成员的访问都是通过this的。例如你建立了类的多个对象时,在调用类的成员函数时,你并不知道具体是哪个对象在调用,此时你可以通过查看this指针来查看具...

2020-03-23 10:24:03 955

原创 秋招总结------C++面试题总结四

1.C++中类成员的访问权限和继承权限问题三种访问权限public:用该关键字修饰的成员表示公有成员,该成员不仅可以在类内可以被 访问,在类外也是可以被访问的,是类对外提供的可访问接口; private:用该关键字修饰的成员表示私有成员,该成员仅在类内可以被访问,在类体外是隐藏状态; protected:用该关键字修饰的成员表示保护成员,保护成员在类体外同样是隐藏状态,但是对于该...

2020-03-22 16:17:14 405

原创 秋招总结------C++面试题总结三

1.说说你对c和c++的看法,c和c++的区别?第一点就应该想到C是面向过程的语言,而C++是面向对象的语言,一般简历上第一条都是熟悉C/C++基本语法,了解C++面向对象思想,那么,请问什么是面向对象? C和C++动态管理内存的方法不一样,C是使用malloc/free函数,而C++除此之外还有new/delete关键字;(关于malooc/free与new/delete的不同又可以说一...

2020-03-17 16:14:13 251

原创 秋招总结------C++面试题总结二

1.构造函数的执行顺序?析构函数的执行顺序?构造函数内部干了啥?拷贝构造干了啥?构造函数顺序基类构造函数。如果有多个基类,则构造函数的调用顺序是某类在类派生表中出现的顺序,而不是它们在成员初始化表中的顺序。 成员类对象构造函数。如果有多个成员类对象则构造函数的调用顺序是对象在类中被声明的顺序,而不是它们出现在成员初始化表中的顺序。 派生类构造函数。析构函数顺序调用派生类的析构函数;...

2020-03-15 17:20:35 548

原创 秋招总结------C++面试题总结一

1. 引用和指针的区别指针是一个实体,需要分配内存空间。引用只是变量的别名,不需要分配内存空间。 引用在定义的时候必须进行初始化,并且不能够改变。指针在定义的时候不一定要初始化,并且指向的空间可变。(注:引用的值不能为NULL) 有多级指针,但是没有多级引用,只能有一级引用。 指针和引用的自增运算结果不一样。(指针是指向下一个空间,引用时引用的变量值加1) sizeof 引用得到的是所...

2020-03-07 18:32:28 339

原创 VS 2019 编译文件时错误 找不到头文件

出现如下编译错误:1.打开Visual Studio Installer,点击修改,点击单个组件,在编译器、生成工具和运行时中找到Windows10SDK17763,勾选安装2.打开项目文件,点击工具栏中的调试,打开属性,自动换成最新的。...

2020-03-03 10:51:18 4415 7

原创 C++基础练习(1)

1.2.3.4.5.6.7.

2019-03-27 20:45:38 208

原创 LeetCode Find Minimum in Rotated Sorted Array II

Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).Find the minimum element.The array may contain duplicates. 寻找旋转有序重复...

2019-02-26 10:25:14 114

原创 LeetCode 153 寻找旋转有序数组的最小值

Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).Find the minimum element.You may assume no duplicate exists in the arra...

2019-02-25 17:51:37 110

原创 LeetCode152——乘积最大子序列

Maximum Product SubarrayFind the contiguous subarray within an array (containing at least one number) which has the largest product.For example, given the array [2,3,-2,4],the contiguous subarray...

2019-02-25 17:27:57 103

原创 LeetCode(59):螺旋矩阵 II

Medium!题目描述:给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]解题思路:此题跟之前那道 Spiral Matrix 螺旋矩阵 本质上没什么区别,就相当于个类似逆运算的过程,这道题是要按螺旋的顺序来填数...

2019-02-25 17:08:34 109

原创 LeetCode(54):螺旋矩阵

Medium!题目描述:给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], ...

2019-02-21 11:02:23 110

原创 LeetCode(48):旋转图像

Medium!题目描述:给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [...

2019-02-21 10:47:25 127

原创 LeetCode(33):搜索旋转排序数组

Medium!题目描述:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums ...

2019-02-21 10:22:09 115

原创 计算机网络基础 2

1.计算机网络分层?(1)按OSI模型有7层结构:从下到上是 7应用层 6表示层 5会话层  4传输层 3网络层 2数据链路层 1物理层。其中高层定义了程序的 功能(7 6 5 4),下面3层主要面向通过网络的端到端的模型。七层模型,也称为OSI(Open System Interconnection)参考模型,是国际标准化组织(ISO)制定的一个用于计算机或通讯系统间互联的标准体...

2018-12-31 11:40:49 446

原创 UDP可靠传输

相对于TCP,由于UDP是面向无连接、不可靠的传输协议。 如果我们要用UDP去实现可靠的传输,则需要解决两个问题:丢包和后发先至(包的顺序)。解决方法: 1)给数据包编号,按照包的顺序接收并存储; 2)接收端接收到数据包后发送确认信息给发送端,发送端接收确认数据以后再继续发送下一个包,如果接收端收到的数据包的编号不是期望的编号,则要求发送端重新发送。...

2018-11-04 10:52:36 226

转载 for循环的顺序

案例分析#include <stdio.h>#include <srdlib.h>int main(void){char c;for(c=getchar();getchar()!='#';c=getchar())putchar(c);}运行结果如下:这是怎么...

2018-10-08 16:25:31 502

原创 剑指offer-------单例模式

1.题目:2.思路:单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。要实现这一点,可以从客户端对其进行实例化开始。因此需要用一种只允许生成对象类的唯一实例的机制,“阻止”...

2018-10-07 17:17:44 174

原创 剑指offer-------1-------赋值运算符函数

1.题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。class CMyString{public:CMyString(char *pData=NULL);//构造函数CMyString(const CMyString& str);//拷贝构造函数~CMyString();//析构函数private:char* m_pData;//数据域,字符指针...

2018-10-07 11:39:09 119

原创 剑指offer------回溯法

待跟

2018-10-07 10:19:37 154

原创 剑指offer------二叉搜索树

2018-10-07 10:18:41 88

原创 剑指offer-------序列化二叉树

后期再写

2018-10-06 11:12:51 107

原创 剑指offer-------之字打印二叉树

题目:思路: 代码:struct TreeNode{ int val; TreeNode *left; TreeNode *right;}void Print(BinaryTreeNOde* pRoot){ if(pRoot == NULL) return; stack<BinaryTreeNOde*>levels[2]; ...

2018-10-06 10:57:45 148

原创 剑指offer-------把二叉树打印成多行

题目:思路:代码:struct TreeNode{ int val; TreeNode *left; TreeNode *right;}void Print(BinaryTreeNOde* pRoot){ if(pRoot == NULL) return; queue<BinaryTreeNOde*>nodes; nodes.push...

2018-10-06 10:26:42 93

原创 C++中多态和虚函数怎么回答

1.定义:      多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphism),字面意思多种形状。  C++多态性是通过虚函数来实现的,虚函数允许子类重新定义成员函数,而子类重新定义父类的做法称为覆盖(override),或者称为重写。(这里我觉得要补充,重写的话可以有两种,直接重写成员函数和重写虚函数,只有...

2018-10-05 11:08:21 180

原创 new和malloc的区别

new分配内存按照数据类型进行分配,malloc分配内存按照大小分配; new不仅分配一段内存,而且会调用构造函数,但是malloc则不会。new的实现原理?但是还需要注意的是,之前看到过一个题说int* p = new int与int* p = new int()的区别,因为int属于C++内置对象,不会默认初始化,必须显示调用默认构造函数,但是对于自定义对象都会默认调用构造函数初始化。翻阅资...

2018-10-05 10:05:38 320

原创 说说const的作用,越多越好

说说const的作用const修饰全局变量; const修饰局部变量; const修饰指针,int * const; const修饰指针指向的对象, const int *; const修饰引用做形参; const修饰成员变量,必须在构造函数列表中初始化; const修饰成员函数,说明该函数不应该修改非静态成员,但是这并不是十分可靠的,指针所指的非成员对象值可能会被改变 修饰...

2018-10-05 10:03:31 775

原创 volatile是干啥的

volatile是干啥的访问寄存器要比访问内存要块,因此CPU会优先访问该数据在寄存器中的存储结果,但是内存中的数据可能已经发生了改变,而寄存器中还保留着原来的结果。为了避免这种情况的发生将该变量声明为volatile,告诉CPU每次都从内存去读取数据。 一个参数可以即是const又是volatile的吗?可以,一个例子是只读状态寄存器,是volatile是因为它可能被意想不到的被改变,是c...

2018-10-05 09:48:23 176

原创 static的作用

在C语言中,static关键字至少有下列几个作用:函数体内的static变量作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值。( static修饰局部变量时,使得被修饰的变量成为静态变量,存储在静态区。存储在静态区的数据生命周期与程序相同,在main函数之前初始化,在程序退出时销毁。(无论是局部静态还是全局静态) 局部静态变量使得该变量...

2018-10-05 09:46:15 136

转载 extern关键字作用

基本解释:extern可以置于变量或函数前,以标识变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找定义。   此外也可进行连接指定。 也就是说extern有两个作用,                                                                                                      ...

2018-10-05 09:32:36 15353 1

原创 剑指offer------对称的二叉树

题目:思路:我们通常有三种不同的二叉树遍历算法,即前序遍历、中序遍历和后序遍历。在这三种遍历算法中,都是先遍历左子结点再遍历右子结点。以前序遍历为例,我们可以定义一个遍历算法,先遍历右子结点再遍历左子结点,暂且称其为前序遍历的对称遍历。遍历第一棵树,前序遍历的遍历序列为{8,6,5,7,6,7,5},其对称遍历的遍历序列为{8,6,5,7,6,7,5}。遍历第二颗树,前序遍历的...

2018-10-04 09:47:35 189

原创 *剑指offer-----二叉树的下一个节点

题目:思路:代码:BinaryTreeNode* GetNext(BinaryTreeNode* pNode){ if(pNode == NULL) return NULL; BinaryTreeNode* pNext = NULL; if(pNode->m_pRight != NULL) { BinaryTreeNode* pRight = p...

2018-10-02 10:03:31 157

原创 剑指offer------平衡二叉树

题目输入一棵二叉树,判断该二叉树是否是平衡二叉树。思路平衡二叉树的定义是:所谓的平衡之意,就是树中任意一个结点下左右两个子树的高度差不超过 1。解题思路有两种,只遍历一次的方法最优。重复遍历多次:在遍历树的每个结点的时候,调用函数TreeDepth得到它的左右子树的深度。如果每个结点的左右子树的深度相差都不超过1,则这是一颗平衡的二叉树。这种方法的缺点是,首先判断根结点是不...

2018-10-02 09:12:19 205

原创 剑指offer-------二叉树的深度

题目输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。思路这道题蛮简单的,求二叉树的深度。可以是递归的方法,属于DFS(深度优先搜索);另一种方法是按照层次遍历,属于BFS(广度优先搜索)。代码:DFS:struct TreeNode{ int val; TreeNode *left; Tree...

2018-10-01 11:50:46 132

原创 剑指offer------二叉树中和为某一值的路径

题目输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。思路深度优先搜索。使用前序遍历,使用两个全局变量result和tmp,result来存放最终结果,tmp用来存放临时结果。每次遍历,我们先把root的值压入tmp,然后判断当前root是否同时满足:与给定数值相减为0; 左子树为空;...

2018-10-01 11:24:30 95

原创 剑指offer------从上往下打印二叉树

题目:思路:代码:struct TreeNode{ int val; TreeNode *left; TreeNode *right;}class Solution{public: void DeepFirstPrint(TreeNode*pTreeNode) { if(pTreeNode==NULL) return ; queue&l...

2018-09-30 18:23:57 135

原创 剑指offer------树的镜像

1.题目:2思路:3.代码:struct TreeNode{ int val; TreeNode *left; TreeNode *right;}class Solution{public: void Mirror(TreeNode *pRoot) { if((pRoot == NULL)||(pRoot->left==NULL)||(pRoo...

2018-09-30 18:12:13 106

原创 剑指offer------书的子结构

题目:思路:代码:struct TreeNode{ int val; TreeNode *left; TreeNode *right;}class Solution{public: bool HasSubtree(TreeNode *pRoot1,TreeNode *pRoot2) { bool result = fasle; if(pRoot1...

2018-09-30 18:00:37 116

原创 剑指offer------重建二叉树

题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路通常树有如下几种遍历方式:前序遍历:先访问根结点,再访问左子结点,最后访问右子结点。 中序遍历:先访问左子结点,再访问根结点,最后访问右子...

2018-09-29 18:15:50 150

空空如也

空空如也

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

TA关注的人

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