自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

萌二三

不如意事常八九,可与语人无二三

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

原创 面试问题

1. 指针和引用的区别(1)引用只是变量的别名,内部是实现指针。(2)引用只能在初始化时被赋值,其他时候不能被改变,指针的值可以在任何时候改变(3)引用不可以为空,指针可以为空(4)引用变量内存单元保存的是被引用变量的地址(5)“sizeof 引用” =指向变量的大小,“sizeof指针”=指针本身的大小(6)引用可以取地址操作,返回的是被引用变量所在的内存单元地址(7)引用使用在源...

2019-09-11 08:43:25 328

原创 C++学习之面向对象特性

类的构造与析构明白了类的定义语法,还有类的成员,访问成员控制,接下来要讨论一个对象的生命周期,这涉及两个至关重要的活动,创建和销毁。创建和销毁对象的动作,之前有讲过在栈上怎么创建一个对象,在堆上怎么创建一个对象,以及在堆上创建的对象怎么被销毁掉,通过new创造,通过delete销毁。那么创造一个对象的时候,怎么初始化这个对象?在销毁这个对象的时候,怎么去清理这个对象所持有的一些资源?清理资源的意思是,这个对象的某个成员可能是个指针指向了某个内存,或者是个文件句柄,如果没有清理这些资源的话,可能会导

2021-09-30 18:09:17 161

原创 C++类的构造函数与析构函数调用顺序

代码如下,可通过打印观察构造和析构的顺序#include <iostream>using namespace std;class A {public: A() {cout << "A constrcutor" << endl; }; ~A() {cout << "A destrcutor" << endl; };};class B {public: B() {cout << "B constrc

2021-03-30 11:13:34 261

原创 整数溢出总结

1、整数提升unsigned int Add2(unsigned short a, unsigned short b){ return a + b;}在32位操作系统下,计算机的寄存器的位宽就是32位在做运算时,变量 a 和 b 会分别被 push 到寄存器中由于寄存器位宽为32,因此 变量a 与 变量b 都会被提升到为 unsigned int 类型,这就是整数提升两个unsigned short类型的参数 相加 结果一定会在unsigned int 范围内,因此 不会有问题在

2021-03-29 22:19:36 1305

原创 缓冲区溢出总结

#include <iostream>#include <cstring>using namespace std;bool CheckPassword(const char *const password, const char *const admin, const int len){ return strncmp(password, admin, len) == 0;}int main(){ char admin[6] = "admin";

2021-03-27 15:57:53 413

原创 通过GDB调试学习栈帧

hello.cpp#include <iostream>using namespace std;int foo(int a, int b, int c){ int var1; int var2; int var3; return a + b + c + var1 + var2 + var3;}int main(){ int res = foo(1, 2, 3); cout << "hello! res = " &

2021-03-26 15:36:59 368

原创 文本编辑器编写cpp代码,cmd用g++编译/gdb调试/运行

用文本编辑器编写一段hello代码,将文件名后缀设置为.cpp如下,编写了hello.cpp:存在D盘目录下用g++命令编译cpp文件D盘下会生成一个可执行文件,为 chao.exe4. 直接运行可执行文件,输出hello...

2021-03-25 21:34:36 1296

原创 字符串匹配-KMP算法

leecode 28 实现 strStr()class Solution {public: void nextGen(string P,int next[]) { // int i=0,j=-1; next[0]=-1; while(i<P.length()-1) { if(j==-1||P[i]==P[j]) { i++

2020-06-07 16:43:11 86

原创 leecode611&976.有效三角形的个数(双指针法)&三角形的最大周长

一、有效三角形的个数 题目描述:给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。输入:[2,2,3,4]输出:3有效的组合是:2,3,4 (使用第一个 2)2,3,4 (使用第二个 2)2,2,3算法思路:双指针法https://leetcode-cn.com/problems/valid-triangle-number/solutio...

2019-09-13 21:11:12 151

原创 算法模板

C++实现排序堆排:https://blog.csdn.net/qq_44529027/article/details/89305656

2019-09-08 11:13:32 75

原创 leecode410 分割数组最大值&&携程9.5任务调度

一、分割数组最大值题目描述给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。输入:nums = [7,2,5,10,8]m = 2输出:18解释:一共有四种方法将nums分割为2个子数组。其中最好的方式是将其分为[7,2,5] 和 [10,8],因为此时这两个子数组各自的和的最大值为...

2019-09-06 09:23:56 171

原创 BFS,不得不爱的算法

宽度有限搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了宽度优先搜索类似的思想。BFS(Breadth First Search)属于一种盲目搜寻法,目的是系统的展开并检查图中的所有节点,以找寻结果。dfs=栈,压栈,出栈;(栈可以保存路径)bfs=队列,入队列,出队列;(队列可以计算路径长度)bfs是按一层一层来访...

2019-09-05 14:42:22 90

原创 银行面试小结(主数据库)

发展:层次->网状->关系(Mysql,sqlserver)->非关系型(NoSQL,大数据情况下比较有优势)大佬的语句笔记标准SQL语句查询语句:SELECT param FROM table WHERE condition该语句可以理解为从 table 中查询出满足 condition 条件的字段 param。新增语句:INSERT INTO table (p...

2019-09-03 17:14:39 1825

原创 盛最多水的容器(leecode11)

题目描述:给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。示例输入:1.8.6.2.5.4.8.3.7输出:49思路:双指针法移动的规则:每次都令指向值小的指针向指向值大的指针移动。...

2019-08-30 11:05:40 119

原创 找”异数“

(小米)定义:数值序列中包含2~16进制整数,如果序列中有一个数,与序列中其他任何一个数大小都不相等,则这个数叫做“异数”。请找出给定数值序列中所有的“异数”.输入描述:输入数值序列i行(0<i),每一行分别是进制和数值,以“#”分割。如:n#m, n是整数,代表n进制(1<n<17),m是n进制下的数值.输入序列以结束符”END”结束。m的字符集为0-9和A-F,保证...

2019-08-30 09:55:42 402

转载 static小结

在局部变量前,加上关键字static,该变量就被定义成为一个静态局部变量。全局(静态)存储区:分为DATA段,和BSS段。DATA段(全局初始化区)存放初始化的全局变量和静态变量;BSS段(全局未初始化)存放未初始化的全局变量和静态变量。程序运行结束自动释放。其中BBS段在程序执行之前会被系统自动清0,所以未初始化的全局变量和静态变量在程序执行之前已经为0。存储在静态数据区的变量会在程序刚开始运...

2019-08-26 09:48:32 151

原创 linux小笔记

linux将file文件最尾部显示在屏幕上,并不断刷新可查看到的最新文件内容tail -f <文件名>文件添加可执行权限chmod [ugoa] +x 文件名[ugoa] 代表可选项u 代表文件所左右者 userg 代表文件所属群组 groupo 代表其他用户 othera 代表所有 all加密shc 生成两个文件 .sh.x 和 .sh.x.c文件中r w ...

2019-08-24 21:48:25 68

原创 8.17腾讯笔试第4题

题目描述:小Q在周末的时候和他的小伙伴来到大城市逛街,一条步行街上有很多高楼,共有n座高楼排成一行,小q从第一栋一直走到最后一栋,小Q从来没有见到这么多的楼,所以他想知道在每栋楼上的位置处能看到多少栋楼呢?(当前面的楼的高度大于等于后面的楼时,后面的楼将被挡住)输入6 //楼的栋数n5 3 8 3 2 5 //n个数,空格隔开,每一栋楼的高度。输出3 3 5 4...

2019-08-24 10:32:38 1151 1

原创 把数组排成最小的数

把数组排成最小的数题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印出能拼接出的所有数字中最小的一个。例如:输入数组 3,32,321。 则打印出这3个数字能排成的最小数字321323.思路: 这道题其实是希望我们找到一个排序规则,数组根据这个规则排序之后能排成一个最小的数字。要确定排序规则,就要比较两个数字,就是给出两个数字 m 和 n ,需要确定一个规则判断哪个应该排在前...

2019-08-23 15:55:51 79

原创 C++文件操作

#include<iostream>#include<string>#include<vector>#include<fstream>#include<ctime>using namespace std;int main(){ //写入指定路径 string fileName1 = "", fileName2 = ""...

2019-08-23 11:14:32 176

原创 设计模式

单例模式 (Singleton pattern )单例模式是常用的软件设计模式,核心结构中只包含一个被称为单例的特殊类。保证系统中,应用该模式的类只有一个实例。即一个类只有一个对象实例。动机如在Windows中就只能打开一个任务管理器。如果不使用机制对窗口对象进行唯一化,将弹出多个窗口,如果这些窗口显示的内容完全一致,则是重复对象,浪费内存资源;如果这些窗口显示的内容不一致,则意味着在某一瞬...

2019-08-23 10:17:46 93

原创 OOP概述

面向对象程序设计核心思想:数据抽象(封装)、继承、动态绑定(多态);数据抽象:将类的接口和实现分离;继承:可以定义相似的类型并对其相似关系建模;动态绑定:一定程度上忽略相似类型的区别,以统一的方式使用他们的对象。继承1. 定义基类对于某些函数,基类希望它的派生类各自定义适合自身的版本,此时基类就将这些函数声明成虚函数。基类通常都定义一个虚析构函数,即使该函数不执行任何实际操作也是如...

2019-08-22 22:27:43 193

原创 第一次面试总结

Q1. 快速排序和冒泡排序有了解吗?冒泡排序的思想:n个数据最多进行n-1次冒泡,每次冒泡都会将未排序的最大值移动到未排序序列末尾,冒泡方式是从左到右一次两两比较,将值较大的交换到右侧。每次冒泡选出最大值放到争取的位置。时间复杂度O(n2)冒泡排序的优化:在一次冒泡中没有发生变化,说明整个序列有序,不需继续遍历,退出循环。代码#include<iostream>using n...

2019-08-22 15:02:20 92

原创 swap()

指针法实参:&a;形参:*a;无法改变实参的值;//void swap(int*a, int*b)//{// int* temp = a; // a = b;// b = temp; //}可行void swap(int*a, int*b){ int temp = *a;//内容交换 *a = *b; *b = temp;}调用语句swap(&...

2019-08-22 10:19:44 527

原创 动态规划思想:01背包问题-杨辉三角

动态规划导读动态规划是1957年理查德贝尔曼在《Dynamic Programming》一书中提出的,其中Programming不是编程的意思,而是一种表格处理法。把每一步得到的子问题结果存储在表格里,每次遇到该子问题时不需要在求解一遍,只需要查询表格即可。一、问题描述有n个物品和购物车的容量,每个物品的重量为w[i],价值为v[i],购物车的容量为m,如何选取物品装入购物车,使装入的物品的...

2019-08-21 09:29:14 249

原创 力扣394-字符串解码

遇到括号嵌套要想到用栈(腾讯笔试)394原题

2019-08-20 16:55:28 150

原创 C++结构体与类对齐

struct tag { member-list}variable-list;注:struct为结构体关键字; tag为结构体的标志; member-list为结构体成员变量列表,其必须列出其所有成员; variable-list为此结构体声明的变量;//此声明声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c,但没有标明其标签,声明了结构体变量...

2019-08-20 09:45:21 489

原创 leecode发糖果对应发工资

https://leetcode-cn.com/problems/candy/solution/fen-fa-tang-guo-by-leetcode/

2019-08-16 11:30:00 82

空空如也

空空如也

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

TA关注的人

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