自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

人面桃花

爱是一种信仰,把我带到你的身旁

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

转载 Linux 命令大全

linux 命令格式Linux系统的命令通常都是如下所示的格式:命令名称 [命名参数] [命令对象] 获取登录信息 - w / who / last/ lastb。 [root ~]# w 23:31:16 up 12:16, 2 users, load average: 0.00, 0.01, 0.05USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot pts/0 18...

2022-03-06 16:19:36 835

原创 852. 山脉数组的峰顶索引 C++题解

题目要求: 852. 山脉数组的峰顶索引题目解析今天同样是个简单的二分题,题目是让你求一个数组中先上升,后下降的那个点的索引。还有我在上一个题目中问道的,二分的时候数组不一定是有序的,这个题目就是一种表现形式,当然还有其他的表现形式。解题思路这个题大家可能用的是的解法,但是题目最后要求是用,所以这个题还是二分。可能大家想想就能想到了,先上升后下降的点,那么我们先找到中间的一个数,把这个数与前一个和后一个进行比较,如果是一直上升,我们就知道结果在后半个区间,如果是一直下降,我们知道结果在左

2021-06-15 08:01:25 187

原创 374. 猜数字大小 力扣 C++题解

题目要求: 374. 猜数字大小欢迎关注微信公众号:【没伞的孩子拼命跑】 和我的小伙伴们一块打卡吧。题目解析今天的题目才真真正正的是二分题目的例题,这估计也是你们学二分的时候的老师给你们讲的例题。但是我有一个问题,大家做完题之后,可以在群里互相交流一下。我们最初始的二分算法要求给定是数组必须是有序的,但是我想问一个问题,二分算法的应用一定是在有序的数组中吗?解题思路这周是二分周,这个题就没有什么解题思路了,就是最基本的二分方法,需要注意的是,这样写的话不会因为计算中间数超出数据表示范

2021-06-14 09:28:26 358

原创 278. 第一个错误的版本 力扣每日一题 C++题解

欢迎关注微信公众号:【没伞的孩子拼命跑】 和我的小伙伴们一块打卡吧 题目解析题目翻译过来就是给你一个数组,大概像这样,FFFFFFTTTTTT,然后找第一个T的位置,很清晰了吧,就是用二分查找的方式,注意一下数据的范围就好了。解题思路这个题就没有什么解题思路了,就是最基本的二分方法,需要注意的是,这样写的话不会因为计算中间数超出数据表示范围,就一般不要这样写,这样的话在计算(l+r)的时候很容易超出int型的数据所能表示的范围。代码和详细注释如下//C++题解//The...

2021-06-13 09:28:44 128

原创 279 完全平方数 力扣每日一题

题目要求: 题目解析就是给你一个数,问你他至少有多少个完全平方数组成。一定能组成,因为有1存在。其实我们之前做过类似的题目,比如给你一个数组,每个数可以用多次,问你至少需要几个数可以构成N.解题的思想其实是一样的。解题思路根据题目,我们首先写出动态规划的表达式:表示最少需要多少个数的平方来表示整数 .那么我们只需要枚举中所有的情况,且满足.那么,那么转移方程就很好的写出来了。同时因为计算 时所需要用到的状态仅有 ,必然小于 ,因此我们只需要从小到大地枚举 来计算 即可。同时,因为我们无法

2021-06-11 08:57:38 121

原创 049. 最后一块石头的重量 II 力扣每日一题 C++题解

欢迎关注微信公众号:【没伞的孩子拼命跑】 和我的小伙伴们一块打卡吧题目要求: 1049. 最后一块石头的重量 II题目解析题目很简单,就是给你一堆石头,让你两个两个的废碎,如果是一样大的石头就完全粉碎,否则就求两个的差接着粉碎。问到最后剩下的时候大小最小是多少?解题思路方法一:这个题目不难,因为这个月是背包月,大家可能能想到背包,但是如果是面试的时候,你能想到吗?一般来讲,这个题我肯定是先想到的贪心,不行之后才想到的背包问题。首先写一个错误的思路,就是贪心,我每次都选择最大的

2021-06-08 09:20:56 245

原创 01背包&完全背包&494 目标和

背包问题:0-1背包和完全背包背包问题是很好的体现动态规划思想的题目,背包问题泛指以下这一种问题:给定一组有固定价值和固定重量的物品,以及一个已知最大承重量的背包,求在不超过背包最大承重量的前提下,能放进背包里面的物品的最大总价值。我们今天主要讲两种类型的背包问题:0-1背包和完全背包1. 0-1背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是,价值是。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。解..

2021-06-07 08:50:22 95

原创 474 一和零 力扣每日一题

欢迎关注微信公众号:【没伞的孩子拼命跑】 和我的小伙伴们一块坚持打卡变大牛吧。题目要求题目解析题目说的是给你m个0,n个1,让你求给定的字符串中,符合0的个数小于等于m,1的个数小于等于n的字符串的个数最大为多少?解题思路首先要想这个题的解题方法是什么?之前提到过凡是求最大,最小的,一般都是用动态规划。大家如果做过背包问题,其实对于这个题目还是有感觉的。背包问题是让装的东西小于V,而这个题是让0小于m,1小于n两个条件。经典的背包问题是用两个维度的数组,所以现在是用三个维度的数组.

2021-06-06 11:05:50 77

原创 203. 移除链表元素 力扣C++题解

题目要求:203. 移除链表元素 题目解析题目还是很容易理解,就是给你一个链表,删除链表中所有值等于val的节点。但是会有比较特殊的测试案例需要想到。比如是不是空链表,所有的值会不会都是val,开头和结尾的值如果是val怎么处理等等。解题思路链表的题目大部分都是用双指针,当然解法有很多,双指针是一个比较平常的思路,就是上来就要这样想,这样想做不出来再换思路。当然这个题目比较简单,方法也比较多,大家可以用自己擅长的。我用的是双指针,pre指针指向前一个节点,cur指针指向当前节点,然后再判

2021-06-05 09:29:46 249 1

转载 Qt5 error LNK2019 无法解析的外部符号 解决办法

Qt5 error LNK2019 无法解析的外部符号 解决办法wangaolong 2020-02-08 18:57:34 1106 收藏 3版权Qt5 error LNK2019 无法解析的外部符号 解决办法原因编译器未识别该新类的名字解决1.项目右键清除2.qmake(重新让编译器识别所有类)3.构建如果上述方法还没解决则按一下方法操作1、问题:最近使用QT 5.0.2 设计界面,遇到一个纠结的问题:建立工程后,再新建一个新的类(如class a),类声明在a.h头文件中

2021-03-28 16:30:38 1305

原创 手写智能指针 模板 C++

template <class T> class SmartPointer {public: //普通构造函数, 设定T * ptr的值,并将引用计数设为1 SmartPointer(T * ptr) { ref = ptr; ref_count = new unsigned; *ref_count = 1; } //指针拷贝构造函数,新建一个指向已有对象的智能指针 //需要先设定ptr和ref_count //设为指向sptr的ptr和ref_count //并

2021-03-23 16:26:59 242

原创 线段树 点更新段查询

#include <iostream>#include <vector>#include <algorithm>#include <queue>#include <string>using namespace std;void build_tree(int arr[],int tree[],int node,int start,int end){ cout << start << endl; .

2021-03-23 09:37:42 79

原创 在头文件中用class声明外来类,用指针或引用代替变量的声明;在cpp文件中包含外来类的头文件

在说这一条款之前,先要了解一下C/C++的编译知识,假设有三个类ComplexClass, SimpleClass1和SimpleClass2,采用头文件将类的声明与类的实现分开,这样共对应于6个文件,分别是ComplexClass.h,ComplexClass.cpp,SimpleClass1.h,SimpleClass1.cpp,SimpleClass2.h,SimpleClass2.cpp。ComplexClass复合两个BaseClass,SimpleClass1与SimpleClass2之间是

2021-01-03 14:59:36 918 1

原创 快速排序算法的递归和非递归实现

快速排序是对冒泡排序的改进,回想一下冒泡排序,他是每次在相邻的元素中交换使之有序,然后将数组分成了两个部分,前面的一部分无序,后面的一部分升序。而快速排序是交换两个间距比较远的元素,一趟排序要经过交换的次数会小一些。下面给出递归排序的代码挖坑法void quicksort(vector<int>&a,int left,int right){ if(left<right){ int begin = left; int end = right

2020-12-16 14:46:33 315

原创 单链表的归并排序和快速排序

1.快速排序首先:对于数组的快速排序思想是先找到一个left和一个right和一个基数,然后按照两个指针的相向运动并按照一定的规律交换值,最后找到一个支点,使得支点左边的值都小于支点,支点右边的值都大于支点。但是单链表没有pre指针,如何找到这个支点呢?我们只需要两个指针p和q,两个指针都往next的方向移动,移动的过程中始终保持p之前的key都小于选定的key,p和q之间的key都大于key,当q走到末尾的时候,就完成了支点的寻找。代码如下:struct node{

2020-11-29 20:19:19 236

原创 数据库 select 语句顺序

select from where group by having order by limit 以上为select字句的顺序

2020-11-26 21:11:15 101

原创 最长公共前缀 字典树 NC55

class Tire{public: Tire *children[26]; int size; bool isend=false; Tire() { size=0; for(int i=0;i<26;i++) { children[i]=NULL; } } };class Solution { public: /** * .

2020-11-14 16:08:31 114

原创 C++ 类虚函数内存分布

书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。工欲善其事,必先利其器,我们先用好Visual Studio工具,像下面这样一步一步来:先选择左侧的C/C++->命令行,然后在其他选项这里写上/d1 reportAllClassLayout,它可以看到所有相关类的内存布局,如果写上/d1 reportSingleClassLayoutXXX(XXX为类名),则只会打出指定类XXX..

2020-11-12 15:24:50 259

原创 类组合 类指针和类对象的初始化

类的组合 构造函数的用法在一个类中内嵌另一个类的对象作为数据成员,称为类的组合。该内嵌对象称为对象成员,或者子对象。如三角形类Triangle类的内嵌Node类作为数据成员;class Triangle{private: Node *nodei;  //对象成员 Node *nodej; Node *nodem;public: ...};在使用过程中,需要着重注意的是对象成员的初始化!如Triangle的构造函数该如何定义?如果一个类具...

2020-10-23 16:40:15 2318

原创 在.cpp和.h文件的使用 #include

首先,我们可以将所有东西都放在一个.cpp文件内.然后编译器就将这个.cpp编译成.obj,obj是什么东西?就是编译单元了.  一个程序,可以由一个编译单元组成,也可以有多个编译单元组成.如果你不想让你的源代码变得很难阅读的话,就请使用多个编译单元吧.(一个函数不能放到两个编译单元里面,但两个以上就可以分别放在一个单元,也就是cpp里面)那么就是一个.cpp对应一个.obj,然后将所有的obj链接起来(通过一个叫链接器的程序),组成一个.exe,也就是程序了.  如果一个.cpp要用到另一个.c.

2020-09-25 14:25:04 2318

原创 小白读懂堆排序 调整堆,新建堆

堆排序过程1.首先建立大根堆,建堆的过程就是从数组的大小一半的位置开始,每一次都调用一次堆调整函数,进入堆调整函数之后,找到左孩子和右孩子,如果左右孩子有比当前节点更大值,则进行交换,交换完之后对交换的孩子节点做为当前节点继续进行堆调整,直到当前节点已经大于数组的一半,停止交换。2.第二步就是进行堆排序 首先将一个无序的数组建立大根堆,然后将从数组的最后一个元素开始与第一个元素交换位置。交换完元素之后进行,对接剩下的无序的元素继续进行堆调整。最后得到的数组就是经过堆排序之后的数组。/*注意:这

2020-09-08 10:05:41 877

原创 2020.9.8 精彩每一天

昨天完成进度:和师兄师姐们吃了顿饭,进度没有完成。所有工作加在今天的头上。今日安排:1.完成4.1.2b站上的东西2.完成字符串的中等题目3.把张宇师兄关于fitting的代码看完4.完成带半径的球拟合和原始数据的汇总拟合。5.刷一下粉笔app上的题目,每个单元完成两次测验。...

2020-09-08 08:49:42 70

原创 2020-09-07精彩每一天

今日安排:1.完成4.1.1b站上的东西2.完成字符串的中等题目3.把张宇师兄关于fitting的代码看完4.给家里人打个电话5.刷一下粉笔app上的题目,每个单元完成一次测验。

2020-09-07 09:09:53 70

原创 2020-08-29 经常每一天

完成度:教资刷完算法题刷完网络编程没看明日安排:上午先把程序写完,跑出结果。下午看教资两节刷bfs四道easy晚上windows网络编程回复字节跳动的邮件还是把项目再想想...

2020-08-29 23:19:18 57

原创 2020-08-29 精彩每一天

今日安排:1.粉笔上面的各种题刷一遍2.综合素质背一遍3.刷四个题 二分的4.看两节知识能力以上吃饭前完成。5.程序看完6.学习一下网络编程

2020-08-29 13:26:21 68

原创 2020-8-22 精彩每一天

今日总结看了教师资格证相关的东西,开了一个总结的会议,需要学的东西还是很多的。不多说了,自己心里还是有数的。明日安排:1.一定要把项目整理一下了,再不整理就废了。2.把教资看完就这两个任务,希望能好好的弄完。耽误的时间已经很久了,虽然是要学习新东西,但是实验室的任务做不完被老师压着也是很难受的。...

2020-08-22 23:16:21 64

原创 常用排序算法汇总

1.冒泡排序 (稳定排序)思想:排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。void bubblesort(int a[],int n){ if(n<=1)return; for(int i=0;i <n;i++) { bool flag = false; fo..

2020-08-22 17:01:44 64

原创 qt5.11.2+vs2017+opengl配置

一、基础环境配置Visual Studio 2017安装时组件选择C++、GitQT for Visual studio 2017首先从官网注册一个账户,然后下载QT。需要下载的组件如下:(请统一下载5.11.2版本,下图有误)配置VS2017安装环境,打开VS->工具->扩展和更新->搜索Qt Visual Studio Tools。重启VS2017,Qt VS Tools->Options->Qt Versions->Add,设置路径为

2020-08-20 09:33:32 562

原创 2020-08-18 精彩每一天

今日总结1.刷了六道LeetCode,学到了一种新的动态规划的方法,还行吧,不算太难,还是可以看懂。2.教师资格证看完了第一部分,其实那个上面只有三个部分,所以还是要尽快看的。3.服务器没搞好,只能用自己的破电脑了。4.面试宝典没看,都是中午没睡着觉,下午效率很低。明日安排1.首先将项目run起来,所有的程序都搞起来。这个估计会很费时间。2.把前两个hard的力扣刷了3.明天把职业道德的两个看完吧。然后拿来笔记本做一下笔记吧。4.看看极客时间的算法讲解。...

2020-08-18 21:24:16 118

原创 2020-8-17 精彩每一天

今天看完了教育观和学生观,教资的任务基本完成。位运算的所有代码也写完,但是需要重复一个二进制手表的代码。实验室程序没有搞完,主要是今天去踢毽子了。明日安排:1.教师资格证学到P92.问师兄服务器的事情。3.刷三个LeetCode4.开始看面试宝典,慢慢理解5.早晚20个握力棒加一些锻炼(踢毽子)。...

2020-08-17 23:19:39 169

原创 2020.8.16 精彩每一天

今天的任务基本已经完成,多刷了两道题,但是项目没有全部整理完成。明日的任务:1.刷完所有的位运算的题目,如果觉得刷不完就先今晚刷一下。2.把项目run起来,想想怎么整合整个东西。3.看一下教师资格证,看两个小时吧。补充:不知道教师资格证难度,如果有时间的话可以多看几个章节。...

2020-08-16 21:19:49 71

原创 2020-08-15 精彩每一天

8.15明日安排:1.重装qt软件 2.ppt 3.整理整个项目 4.刷三个位运算的题目。 5.师姐给讲解一下教师资格证

2020-08-15 22:59:59 67

原创 买卖股票的最佳时机系列

读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目:买卖股票的最佳时机买卖股票的最佳时机 II买卖股票的最佳时机 III买卖股票的最佳时机 IV最佳买卖股票时机含冷冻期买卖股票的最佳时机含手续费-----------很多读者抱怨 LeetCode 的股票系列问题奇技淫巧太多,如果面试真的遇到这类问题,基本不会想到那些巧妙的办法,怎么办?所以本文拒绝奇技淫巧,而是稳扎稳打,只用一种通用方法解决所用问题,以不变应万变。这篇文章用状态机的技巧来...

2020-08-15 19:18:22 185

原创 2020-08-14 精彩每一天

dairy 8.14今天是八月十四日,中午休息的时候看到了三年前写的博客。是那个时候状态不好的时候梁老师告诉我的。记录一下每一天的规划和完成的项目。其实还是挺好的,看了那时候每天的规划还是很充实的。至少知道每天自己干了些什么,也不用整天浑浑噩噩的。现在看到那些内容有一丝丝的伤感和庆幸。伤感就是由于感叹时间过得好快啊,转眼的时间自己已经是研二了。庆幸是很开心当时有那么多老师真诚的帮助,主要是那种真心的帮助你,想让你考上研究生,帮助你改掉自己的坏习惯,让你更好的学习更好的进步。非常感谢老师和努力的自己,可以

2020-08-14 14:27:03 72 1

转载 Qt5 debugger QT5 Creator使用vs 2017编译工具无法调试的问题

QT Creator使用vs 2017编译工具无法调试的问题visual studio 2017 只安装了编译工具没有安装IDE然后打开qt creator 编译器都自动识别了,但是发现没有调试器。项目也无法debug启动。提示 Unable to create a debugging engine.后来发现调试器其实是和SDK包一起的。打开控制面板的程序和功能,找到刚刚安装的SDK。点击右键选择更改。选择change点击next。...

2020-06-21 09:57:12 644 1

原创 C++后台开发

转自作者:AJ,自己留着学习。在去年结束的秋季招聘中,后台开发或服务器开发的岗位需求一度火热,甚至超过了算法岗。不少同学从诸神黄昏的算法岗战场上退下,转向更偏向工程能力的后台开发岗,从而造成后台开发岗位竞争的大爆发。后台开发工程师主流使用的编程语言有C++、Java、PHP以及目前慢慢流行的Golang等。本文就将以C++的角度,讲讲如何学习和准备后台开发的岗位。一、语言基础无论是C++开发还是Java开发,对于一个码农而言,最重要的就是对于编程语言的熟悉。同样,无论从事哪种类型的...

2020-05-12 12:02:42 3086

原创 C++高频面试题目

作者:守望者1028链接:https://www.nowcoder.com/discuss/55353来源:牛客网C++研发高频笔/面试题目笔试:笔试这一块想不到特别好说的,很多时候只是公司筛选人的第一步,分数高低代表意义不大(尤其是大公司,现身说法,我的腾讯笔试真的是呵呵哒),当然笔试是一个门槛,不过后面很可能就不用谈了。我笔试经验也不足,感觉笔试考察最重点的就是算法的熟悉程度,代码能力,我笔试成绩通常不太高,原因是我编程题速度比较慢,往往都做不完。以C++开放举例,粗略说说笔试一般会考哪些内容

2020-05-12 10:04:21 1204

转载 C++学习路线

作者:做一只奔跑的蜗牛链接:https://www.nowcoder.com/discuss/328508来源:牛客网C++: C++Primer 基础书籍,初学者建议精读,可重点关注一些C++11的新特性,比如智能指针、移动构造等在面试中常考的特性 深度探索C++面向对象模型,这是一本建立起C++面向对象模型观的好书,个人收益良多,另附一份此书总结的技术博客,写的很好,读完本书再读一遍博客,绝对收获满满,以至于我后面复习C++面向对象观,直接对着博客看了:http删掉我://..

2020-05-12 09:23:42 278

原创 C++ primer 学习4

1.因为一个基类的对象可能是派生类的一部分,也可能不是,所以不存在从基类到派生类的自动转换。2.当我们用一个派生类对象为一个基类对象初始化或者赋值的时候,只有该派生类对象中的基类部分会被拷贝,移动,或者赋值,他的派生类部分将会被忽略掉。3.如果虚函数使用默认实参,则基类和派生类中定义的默认实参最好一致。4.有纯虚函数的类为抽象基类,我们不能创造抽象基类的对象。5.进行名字查找时,我...

2020-05-07 16:41:02 118

原创 C++primer 相关学习3

1.因为一旦某个形参被赋予了默认值,那么它之后的形参都必须要有默认值。(a) int ff(int a, int b = 0, int c = 0); //正确(b) char *init(int ht = 24, int wd, char bckgrnd); //错误2.constexpr函数的返回值类型及所有形参都得是字面值类型。3.函数匹配void ...

2020-05-01 21:19:20 235

空空如也

空空如也

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

TA关注的人

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