自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 笔记error: expected constructor, destructor, or type conversion before ‘.‘ token

error: expected constructor, destructor, or type conversion before ‘.’ token找了半天原因,原来是犯了基础知识不扎实的错误,C++中,全局阈只能声明、初始化变量; 不能用于赋值、运算、调用函数等!!!在函数外声明proto变量并set赋值,报错需要构造虚构函数,不能set进去,写个函数放进去能够解决...

2021-12-29 15:07:32 2056

原创 力扣143重排链表

一、存储法用顺序表将所有节点保存下来时间复杂度O(2n),空间复杂度O(n)二、将整个链表分成两段,可以用快慢指针,快指针的速度是慢指针的两倍,找到中间点。然后将两个链表逆序排列。空间复杂度为O(1)三、递归方法...

2019-10-08 21:31:37 221

原创 c++内存分配问题

首先分为代码区和数据区数据区分为:静态数据区,动态数据,动态数据区:堆区和栈区代码区存放程序代码静态数据区:存放编译时就分配内存的变量,生命周期贯穿整个程序执行过程,所有程序执行完毕后自动释放。堆区:由程序猿安排分配和释放的变量,通过malloc free.new delete管理。栈区:存放函数的形参和局部变量,也又编译器自动释放,在生命周期上相对的是静态数据区。全局变量以及静态变...

2019-09-29 22:34:01 142

原创 排序算法

1、冒泡 O(n^2) 稳定2、选择排序 O(n^2) 不稳定,因为它是选择最小的与前面的位置交换,被交换的数的稳定性被破坏了3、快速排序 O(nlogn) 不稳定4、插入排序O(n^2) 稳定5、希尔排序 平均O(n^1.5 ) 最好 O(n) 最坏O(n^1.5) 不稳定6、桶排序 O(xn) 稳定7、基数排序O(xN) 稳定8、归并排序 O(nlogn) 稳...

2019-09-29 20:17:54 100

原创 2019.9.29

if((n&(-2147483648))==(-2147483648))这里涉及到运算符优先级问题,与或非的等级都比较低,运算时最好打括号补码问题负数的补码是整数的补码取反加1,例如char是1到255,一共八位二进制数,整数的最高位是0,从右往左依次是0到7位,255的7位是0,0到6位都是1正数相当于从0 000 0001到0 111 11110的补码是 0 000 000...

2019-09-29 14:23:03 123

原创 c++编译过程

.i为后缀的文件,是已经预处理过的C源代码文件.s 汇编代码文件.o二进制文件.exe可执行文件

2019-09-27 13:57:26 98

原创 内联函数与宏定义

1、内联函数取消了参数的压栈,减少调用的开销2、内联函数声明必须和定义一起,如果只有声明,编译器只会将它看做普通函数的声明,如果声明的时候使用inline,定义在其他地方也用inline,那么它是内联还是普通函数:普通函数。查汇编代码,内联函数与普通函数一样???3、c++类中定义的函数都默认是内联函数,无论是否有inline4、如果内联函数太大,就会用普通函数的调用方法来调用它。内联函数不...

2019-09-27 13:48:17 224

原创 不能成为虚函数的函数

常见的不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。1.为什么C++不支持普通函数为虚函数?普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在编译时邦定函数。2.为什么C++不支持构造函数为虚函数?这个原因很简单,主要是从语义上考虑,所以不支持。因为构造函数本来就是为了明确初始化对...

2019-09-27 12:04:24 93

原创 2019.9.27记录 const const_cast char大小

一、const常量与宏定义区别1、const在编译阶段运行使用define在预处理阶段展开2、const有具体类型,会执行类型检查define没有类型,没有类型检查,仅仅展开3、const会在内存中分配define在每次使用的地方展开4、const 在第一用的时候分配内存,后面使用直接传递该内存的地址,只有这个一份,其他所有使用到该const的时候都到这个内存来取值。define在...

2019-09-27 11:51:03 178

原创 2019.9.26记录

int *p1[10];int (*p2)[10];优先级() 大于[]大于 *,p1是数组,每个元素是int *,p2是指针 指向一个10大小的数组,数组元素是int,int ( * pFunc[3])(int a, int b)和p1类似,pfunc先与[]结合表示是个数组,在于 * 结合表示存的是指针,在与外面的int (int ,int)结合表示指向的是函数。先执行++a, ...

2019-09-26 11:58:45 90

原创 x个长为a,y个长为b组成长度k有多少种

将x个与y个组合遍历,如果i个a与j个b能构成k,那么计算C(x,i)与C(y,j)的积,遍历时间为O(x*y)计算组合的时如果分子分母分开算会产生大数,如果一次算一个分子分母相除会有小数,所以使用dp[i][j]表记录C(i,j),转移公式为C(i,j)等于取某个物品,在剩下中去j-1个(C(i-1,j-1)),和不取该物品 ,在剩下中取j个C(i-1,j)两种情况之和,...

2019-09-23 22:58:57 179

原创 2019.9.22.记录

前缀树,字典树,哈希树,三维的背包dp。Effective c++设计模式

2019-09-22 10:52:49 76

原创 2019.9.21记录

malloc实现于堆上new实现于自由存储区?开辟空间我们一般在堆区开发,堆区又称为自由存储区(网上转载的内容各有各的说法)malloc free是标准函数,不能重载new delete是运算符可以重载,能够调用构造和析构函数c++大多数运算符都可以重载delete[]要与new[]配套使用,不然会找出数组对象部分释放的现象,造成内存泄漏。就是说delete不能用于mal...

2019-09-22 10:48:01 86

原创 2019.9.22深信服面试

聊项目,完成的内容,遇到的难点malloc和new的区别,有没有方法可以再new失败后得到一个返回值,而不是抛出异常如何统计struct构造函数调用的次数,一个static,忘了在结构体外初始化了,手写一个memcpy函数100万的域名,如何保存和查找:前缀树?1分钟内发生的概率是K,3分钟发生的概率是多少32位系统的各个变量的大小是多少找出一篇文章出现次数top10的单词32位...

2019-09-22 01:08:26 226

原创 2019.9.20记录

class Student:public Male{public: Student(int n,string name ,char s,int a,string ad):Student(n,nam,s) { age=a addr=ad; }};派生类的成员函数将会“隐藏”基类的同名成员函数,无论有没有virtual关键字void set(int i,int j,int k...

2019-09-21 10:59:15 93

原创 力扣576出界的路径

创建两个动态规划数组 dp和temp起始足球在i,j位置,如果走零步,那么整个地图上只有i,j位置能到达且只有一种路径。所以dp[i][j]初始化为1。如果只能走一步,那么i,j可以走到周围四个位置,那么再只能走一步的情况,到达i,j周围四个位置的路径分别都只有一种,到达i,j位置的路径种类为0.如果走两步,那么就从这四个位置再开始,分别往四周扩展,dp[x-1][y]=dp[x][y]...

2019-09-20 12:26:06 149

原创 2019.9.19滴滴,微众笔试

微众:10多到选择题三道编程1、求n的阶乘结果的最后一位非0的数是多少。例如:164000取4。456取62、求n的阶乘结果模10000033、给n个点与这些点之间相连的m个路径,已知有个起点s,有个终点e,从起点到终点,不能走重复的点,求无论如何都不能走到的点。滴滴:20道选择2道编程1、有n个袋子,编号为1到n,m个约束,例如(1,2)算一个约束:1和2不能放到一起,尽可能在...

2019-09-19 23:06:18 407

原创 2019.9.19华为面试

一面:将字符串单词倒序输出“a good student”输出"student good a",内存:new出来的数组和int []数组有什么区别字对齐的方法介绍hash,冲突处理,如果内存有限,装不下了怎么办:建立一个类似于块表的区域存放。二面:输出N以内的孪生素数的个数进程线程区别疯狂怼项目,对我的回答唉声叹气,压力很大。...

2019-09-19 22:54:23 688

原创 2019.9.18深信服笔试

12道选择题,3到填空,3道编程一、给出二叉树的层次遍历,输出前序遍历,在层次遍历中,如果一个点有左节点没有右节点,那么该空的子节点用’#'表示,前序遍历输出时,要把所有的空节点用‘#’输出。感觉题有问题,样例里面的前序输出和我模拟出来的不一样。二、给7个点和他们相互之间的路径,不是每两个点都有连接,输入两个点,输出这两个点之间的最短路径用点来表示。三、五个食堂吃饭,每个食堂在n天里的美味度...

2019-09-18 21:59:11 310

原创 2019.9 18百度面试

自我介绍抽某个项目聊聊其中的内容实现,只是做一个模块的算法,被问到这个输入是什么,输出是什么,什么https,完全没懂,就说了只是实现一个算法函数,把大致思想说完。多态:静态多态:函数模板,函数重载动态多态:虚函数,如何实现,有什么用,基类指针如何调用子类对象中的虚函数,如果调用子类对象的非虚函数。new能否用free释放,是否完全不能编译的流程:预处理,编译,汇编,运行,.o文件与普通...

2019-09-18 21:38:47 79

原创 力扣254因子组合

将数n的所有分解因子的组合方式输出,要去掉重复的情况class Solution {public: vector<vector<int>> result; vector<vector<int>> getFactors(int n) { vector<int> sub; func(n,2,...

2019-09-16 14:50:53 381

原创 力扣253会议室II

使用堆排序priority_queue默认是大顶堆等同于 priority_queue<int,vector,less >priority_queue<int,vector,greater > 是小顶堆先将所有会议的场次按照开始时间先后排序,遍历所有有会议,堆中存储的是之前已经开始会议的结束时间,堆顶的那个会议一定是最早结束的会议,说明该次会议开始时,如果堆顶会议的...

2019-09-15 20:40:46 1940

原创 2019.9.12 一加笔试 58同城笔试

一加:30道选择题20道测(记不清了,一共48道选择)专业题有些很奇怪,都是单选,但选项不唯一void func(char a[])cout<<sizeof(a)<<endl;64位机上测试是8,网上查的32位上是4,。第一次见到把评测也放进去考查。58:20道选择题,3道编程,1道简答编程:1、输出字符串,是一些整数按序排列,整数间用’,'连接,请去...

2019-09-12 21:54:24 607 2

原创 2019.9.11百度笔试

想法:将所有可以摆放的数字按照他们消耗火柴的数量从小到大排列(同样的火柴消耗量,数字大的在前面),总的火柴数量是固定的,所以要尽可能摆放处更多的数字,两位数字的大小肯定比一位数字大。这道题不仅要摆出最大数字,还要刚好用光所有的火柴,用回溯的方法,每次用最小的火柴消耗量摆一个数字出来:当前还剩下的火柴数量:n摆这个数字消耗的火柴a[i]1、n>a[i]:n-=a[i],可以摆出该数字2...

2019-09-11 11:26:22 633 1

原创 ID序列 2019.9.8爱奇艺笔试第一题

dp[i][j]代表符合DI规则的前i个位置的由j结尾的数组的数目,那么可以求得递推公式:DI字符串在i位置是’D’:dp[i][j] += dp[i-1][k] for k >= jDI字符串在i位置是’I’:dp[i][j] += dp[i-1][k] for k < j由递推公式可以看出我们需要的是dp[i][0],dp[i][1],…,dp[i][j]的和,因此我们改变d...

2019-09-09 17:27:43 123

原创 2019.9.8爱奇艺

一、排序输入n,有1到n个数字组成排列s0-sn,再输入a1到an-1的序列,a序列的元素只有0或者1,ai=1表示si>si-1,ai=0表示si<si-1,求这样的s序列有多少种二、红篮球n个红球,m个篮球,甲乙丙轮着选,先选到红球的获胜,只有甲乙比赛,丙只是选球,不参加胜负。如果红球全被选完了,那么乙获胜,求甲获胜的概率...

2019-09-08 21:25:25 169

原创 2019.9.8字节头条笔试

2019-09-08 21:19:58 184

原创 2019.9.6巨人笔试

KMP内部类设计模式一、stringtochar函数a了40%,检查字符是否属于0-9,如果是以外的字符输出0,a了20%,说明有非数字的字符,负数没考虑到?二、给一个向量(x,y),输出向量与x轴的角度...

2019-09-06 21:05:18 88

原创 2019.9.3小红书笔试

编程题一、从左上角方格到右下角方格,输入棋盘大小nm以及棋盘中有障碍物,棋子可以上下左右走,问起点到终点的最短走几步二、字符串s包括字母,’(’, ‘)’, ‘<’,括号总是解释,符号无效,’<'表示消去前一个符号a<<b(©<) 最后输出 b三、给定一个NN的图形矩阵,*表示障碍物,.表示可以走的路径,从起点到终点的最短路程是多少四、...

2019-09-03 21:16:20 212

原创 2019.9.3记录

记得以前看过哪个运算符是从右到左运算,查了所有运算符都是从左到右。后++是取了该值之后立马就自加一个,而不是运行完整个表达式才自加(++i)=(i++)(++i)的执行顺序为1、对赋值号左边操作,i要先自加1,i42、对赋值号右边进行操作,左乘数等于i,为4。然后i自加1 ,i5,3、再取i之前对i自加,i==6,把6给右乘数。4、乘法46=24 ,赋值给i 0x0000000000...

2019-09-03 11:38:35 146

原创 十进制,二进制相互转化

#include<iostream>using namespace std;int main(){ int n,i; cin>>n;// string s; while(n!=0) { i=n; string s=""; while(i>0) { if(i%2) s+='1'; else s+='0';...

2019-09-03 10:50:06 111

原创 腾讯2019.9.1笔试第二题

一、暴力法遍历i从0到n-1,每个i往后扩展。i=0时,low=w[0],sum=s[0],(0,0)时间段的评分为lowsum,maxvalue=lowsum,从(0,0)计算(0,1),如果w[1]<low,low=w[1].sum+=w[1],迭代更新low,sum的值然后计算(0,1)的评分lowsum,如果这次的lowsum大于maxvalue,则更新maxvalue。时间复杂...

2019-09-02 19:47:53 467 1

原创 问题记录2019.9.2

long 和int都是4个字节,long long才是8个字节主函数中a后面的两个数是默认为Int型,他们相加还是int型,所以会溢出后的值赋给a。2147483647+1表示两个int相加2147483647L+1L表示量long相加2147483647LL+1LL表示两个long long 相加2147483647U+1U表示两个unsigned int相加两个unsinged...

2019-09-02 16:46:10 127

原创 2019.9.1腾讯第二次笔试

可能要用到树,记录根记录序列的最小值的下标,左子树的根记录该最小值左边序列的最小值下标,右子树记录该最小值右边序列的下标,之前看过这种算法,待查。...

2019-09-01 22:08:27 462

原创 memset

char a[10];memset(a,‘0’,sizeof(a);将a的所有元素编程字符’0’,但是memset对int型直接赋初值会出错。因为memset是以字节为单位就是对array指向的内存的4个字节进行赋值,4个字节合一起就是00000001 00000001 00000001 00000001就等于16843009,就完成了对一个INT元素的赋值了所以memset对非ch...

2019-09-01 19:45:56 991

原创 2020校招8.17日腾讯技术笔试题5

#include<iostream>using namespace std;int min(int a,int b,int c){ if(a>b) return b<c?b:c; else return a<c?a:c;}int min(int a,int b){ return a<b?a:b;}void func(int *ex,...

2019-08-31 13:21:14 277

原创 深拷贝浅拷贝

默认拷贝构造函数是浅拷贝。struct A{public: A(int n) { num=n; name=new char[5]; cout<<"construct function"<<endl; } ~A() { cout<<"deconstruct function"<<endl; delete name...

2019-08-30 15:08:55 115

原创 struct class

struct A{public: A(int n) { num=n; cout<<"construct function"<<endl; } void show() { cout<<"num:"<<num<<endl; cout<<"show function"<<endl; }...

2019-08-30 11:35:16 137

原创 网易视频面试

1,自我介绍,2,项目 有什么体现自我价值的3,聊一聊virtual,作用是什么,怎么实现多态,一个普通成员方法为什么设置为virtual,构造函数可以是virtual吗,析构函数可以是virtual吗。4,STL了不了解,vector的内容,大小不够时如何扩展vector,手写模拟push_back函数:创建一个vector队列,开始说将元素设为template ,后来改为struct A...

2019-08-30 11:09:12 1426

原创 static关键字

1、隐藏功能同时编译a.cpp和b.cpp两个文件如果a定义一个全局变量Int i,在b中可以extern i(还要include"a.cpp")来使用这个全局变量i,但是如果a中加上 static int i,b中就再也看不到a中的i变量了。2、保持变量内容在静态存储区的数据在程序开始运行时就会初始化数据且唯一一次初始化,包括全局变量和static,static可以控制可见范围。st...

2019-08-29 12:13:41 73

空空如也

空空如也

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

TA关注的人

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