- 博客(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 1751
原创 852. 山脉数组的峰顶索引 C++题解
题目要求: 852. 山脉数组的峰顶索引题目解析今天同样是个简单的二分题,题目是让你求一个数组中先上升,后下降的那个点的索引。还有我在上一个题目中问道的,二分的时候数组不一定是有序的,这个题目就是一种表现形式,当然还有其他的表现形式。解题思路这个题大家可能用的是的解法,但是题目最后要求是用,所以这个题还是二分。可能大家想想就能想到了,先上升后下降的点,那么我们先找到中间的一个数,把这个数与前一个和后一个进行比较,如果是一直上升,我们就知道结果在后半个区间,如果是一直下降,我们知道结果在左
2021-06-15 08:01:25 290
原创 374. 猜数字大小 力扣 C++题解
题目要求: 374. 猜数字大小欢迎关注微信公众号:【没伞的孩子拼命跑】 和我的小伙伴们一块打卡吧。题目解析今天的题目才真真正正的是二分题目的例题,这估计也是你们学二分的时候的老师给你们讲的例题。但是我有一个问题,大家做完题之后,可以在群里互相交流一下。我们最初始的二分算法要求给定是数组必须是有序的,但是我想问一个问题,二分算法的应用一定是在有序的数组中吗?解题思路这周是二分周,这个题就没有什么解题思路了,就是最基本的二分方法,需要注意的是,这样写的话不会因为计算中间数超出数据表示范
2021-06-14 09:28:26 439
原创 278. 第一个错误的版本 力扣每日一题 C++题解
欢迎关注微信公众号:【没伞的孩子拼命跑】 和我的小伙伴们一块打卡吧 题目解析题目翻译过来就是给你一个数组,大概像这样,FFFFFFTTTTTT,然后找第一个T的位置,很清晰了吧,就是用二分查找的方式,注意一下数据的范围就好了。解题思路这个题就没有什么解题思路了,就是最基本的二分方法,需要注意的是,这样写的话不会因为计算中间数超出数据表示范围,就一般不要这样写,这样的话在计算(l+r)的时候很容易超出int型的数据所能表示的范围。代码和详细注释如下//C++题解//The...
2021-06-13 09:28:44 190
原创 279 完全平方数 力扣每日一题
题目要求: 题目解析就是给你一个数,问你他至少有多少个完全平方数组成。一定能组成,因为有1存在。其实我们之前做过类似的题目,比如给你一个数组,每个数可以用多次,问你至少需要几个数可以构成N.解题的思想其实是一样的。解题思路根据题目,我们首先写出动态规划的表达式:表示最少需要多少个数的平方来表示整数 .那么我们只需要枚举中所有的情况,且满足.那么,那么转移方程就很好的写出来了。同时因为计算 时所需要用到的状态仅有 ,必然小于 ,因此我们只需要从小到大地枚举 来计算 即可。同时,因为我们无法
2021-06-11 08:57:38 165
原创 049. 最后一块石头的重量 II 力扣每日一题 C++题解
欢迎关注微信公众号:【没伞的孩子拼命跑】 和我的小伙伴们一块打卡吧题目要求: 1049. 最后一块石头的重量 II题目解析题目很简单,就是给你一堆石头,让你两个两个的废碎,如果是一样大的石头就完全粉碎,否则就求两个的差接着粉碎。问到最后剩下的时候大小最小是多少?解题思路方法一:这个题目不难,因为这个月是背包月,大家可能能想到背包,但是如果是面试的时候,你能想到吗?一般来讲,这个题我肯定是先想到的贪心,不行之后才想到的背包问题。首先写一个错误的思路,就是贪心,我每次都选择最大的
2021-06-08 09:20:56 328
原创 01背包&完全背包&494 目标和
背包问题:0-1背包和完全背包背包问题是很好的体现动态规划思想的题目,背包问题泛指以下这一种问题:给定一组有固定价值和固定重量的物品,以及一个已知最大承重量的背包,求在不超过背包最大承重量的前提下,能放进背包里面的物品的最大总价值。我们今天主要讲两种类型的背包问题:0-1背包和完全背包1. 0-1背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是,价值是。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。解..
2021-06-07 08:50:22 149
原创 474 一和零 力扣每日一题
欢迎关注微信公众号:【没伞的孩子拼命跑】 和我的小伙伴们一块坚持打卡变大牛吧。题目要求题目解析题目说的是给你m个0,n个1,让你求给定的字符串中,符合0的个数小于等于m,1的个数小于等于n的字符串的个数最大为多少?解题思路首先要想这个题的解题方法是什么?之前提到过凡是求最大,最小的,一般都是用动态规划。大家如果做过背包问题,其实对于这个题目还是有感觉的。背包问题是让装的东西小于V,而这个题是让0小于m,1小于n两个条件。经典的背包问题是用两个维度的数组,所以现在是用三个维度的数组.
2021-06-06 11:05:50 101
原创 203. 移除链表元素 力扣C++题解
题目要求:203. 移除链表元素 题目解析题目还是很容易理解,就是给你一个链表,删除链表中所有值等于val的节点。但是会有比较特殊的测试案例需要想到。比如是不是空链表,所有的值会不会都是val,开头和结尾的值如果是val怎么处理等等。解题思路链表的题目大部分都是用双指针,当然解法有很多,双指针是一个比较平常的思路,就是上来就要这样想,这样想做不出来再换思路。当然这个题目比较简单,方法也比较多,大家可以用自己擅长的。我用的是双指针,pre指针指向前一个节点,cur指针指向当前节点,然后再判
2021-06-05 09:29:46 376 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 1433
原创 手写智能指针 模板 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 280
原创 线段树 点更新段查询
#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 119
原创 在头文件中用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 1057 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 360
原创 单链表的归并排序和快速排序
1.快速排序首先:对于数组的快速排序思想是先找到一个left和一个right和一个基数,然后按照两个指针的相向运动并按照一定的规律交换值,最后找到一个支点,使得支点左边的值都小于支点,支点右边的值都大于支点。但是单链表没有pre指针,如何找到这个支点呢?我们只需要两个指针p和q,两个指针都往next的方向移动,移动的过程中始终保持p之前的key都小于选定的key,p和q之间的key都大于key,当q走到末尾的时候,就完成了支点的寻找。代码如下:struct node{
2020-11-29 20:19:19 260
原创 数据库 select 语句顺序
select from where group by having order by limit 以上为select字句的顺序
2020-11-26 21:11:15 125
原创 最长公共前缀 字典树 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 169
原创 C++ 类虚函数内存分布
书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。工欲善其事,必先利其器,我们先用好Visual Studio工具,像下面这样一步一步来:先选择左侧的C/C++->命令行,然后在其他选项这里写上/d1 reportAllClassLayout,它可以看到所有相关类的内存布局,如果写上/d1 reportSingleClassLayoutXXX(XXX为类名),则只会打出指定类XXX..
2020-11-12 15:24:50 289
原创 类组合 类指针和类对象的初始化
类的组合 构造函数的用法在一个类中内嵌另一个类的对象作为数据成员,称为类的组合。该内嵌对象称为对象成员,或者子对象。如三角形类Triangle类的内嵌Node类作为数据成员;class Triangle{private: Node *nodei; //对象成员 Node *nodej; Node *nodem;public: ...};在使用过程中,需要着重注意的是对象成员的初始化!如Triangle的构造函数该如何定义?如果一个类具...
2020-10-23 16:40:15 2435
原创 在.cpp和.h文件的使用 #include
首先,我们可以将所有东西都放在一个.cpp文件内.然后编译器就将这个.cpp编译成.obj,obj是什么东西?就是编译单元了. 一个程序,可以由一个编译单元组成,也可以有多个编译单元组成.如果你不想让你的源代码变得很难阅读的话,就请使用多个编译单元吧.(一个函数不能放到两个编译单元里面,但两个以上就可以分别放在一个单元,也就是cpp里面)那么就是一个.cpp对应一个.obj,然后将所有的obj链接起来(通过一个叫链接器的程序),组成一个.exe,也就是程序了. 如果一个.cpp要用到另一个.c.
2020-09-25 14:25:04 2526
原创 小白读懂堆排序 调整堆,新建堆
堆排序过程1.首先建立大根堆,建堆的过程就是从数组的大小一半的位置开始,每一次都调用一次堆调整函数,进入堆调整函数之后,找到左孩子和右孩子,如果左右孩子有比当前节点更大值,则进行交换,交换完之后对交换的孩子节点做为当前节点继续进行堆调整,直到当前节点已经大于数组的一半,停止交换。2.第二步就是进行堆排序 首先将一个无序的数组建立大根堆,然后将从数组的最后一个元素开始与第一个元素交换位置。交换完元素之后进行,对接剩下的无序的元素继续进行堆调整。最后得到的数组就是经过堆排序之后的数组。/*注意:这
2020-09-08 10:05:41 937
原创 2020.9.8 精彩每一天
昨天完成进度:和师兄师姐们吃了顿饭,进度没有完成。所有工作加在今天的头上。今日安排:1.完成4.1.2b站上的东西2.完成字符串的中等题目3.把张宇师兄关于fitting的代码看完4.完成带半径的球拟合和原始数据的汇总拟合。5.刷一下粉笔app上的题目,每个单元完成两次测验。...
2020-09-08 08:49:42 87
原创 2020-09-07精彩每一天
今日安排:1.完成4.1.1b站上的东西2.完成字符串的中等题目3.把张宇师兄关于fitting的代码看完4.给家里人打个电话5.刷一下粉笔app上的题目,每个单元完成一次测验。
2020-09-07 09:09:53 88
原创 2020-08-29 经常每一天
完成度:教资刷完算法题刷完网络编程没看明日安排:上午先把程序写完,跑出结果。下午看教资两节刷bfs四道easy晚上windows网络编程回复字节跳动的邮件还是把项目再想想...
2020-08-29 23:19:18 75
原创 2020-08-29 精彩每一天
今日安排:1.粉笔上面的各种题刷一遍2.综合素质背一遍3.刷四个题 二分的4.看两节知识能力以上吃饭前完成。5.程序看完6.学习一下网络编程
2020-08-29 13:26:21 88
原创 2020-8-22 精彩每一天
今日总结看了教师资格证相关的东西,开了一个总结的会议,需要学的东西还是很多的。不多说了,自己心里还是有数的。明日安排:1.一定要把项目整理一下了,再不整理就废了。2.把教资看完就这两个任务,希望能好好的弄完。耽误的时间已经很久了,虽然是要学习新东西,但是实验室的任务做不完被老师压着也是很难受的。...
2020-08-22 23:16:21 83
原创 常用排序算法汇总
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 85
原创 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 639
原创 2020-08-18 精彩每一天
今日总结1.刷了六道LeetCode,学到了一种新的动态规划的方法,还行吧,不算太难,还是可以看懂。2.教师资格证看完了第一部分,其实那个上面只有三个部分,所以还是要尽快看的。3.服务器没搞好,只能用自己的破电脑了。4.面试宝典没看,都是中午没睡着觉,下午效率很低。明日安排1.首先将项目run起来,所有的程序都搞起来。这个估计会很费时间。2.把前两个hard的力扣刷了3.明天把职业道德的两个看完吧。然后拿来笔记本做一下笔记吧。4.看看极客时间的算法讲解。...
2020-08-18 21:24:16 143
原创 2020-8-17 精彩每一天
今天看完了教育观和学生观,教资的任务基本完成。位运算的所有代码也写完,但是需要重复一个二进制手表的代码。实验室程序没有搞完,主要是今天去踢毽子了。明日安排:1.教师资格证学到P92.问师兄服务器的事情。3.刷三个LeetCode4.开始看面试宝典,慢慢理解5.早晚20个握力棒加一些锻炼(踢毽子)。...
2020-08-17 23:19:39 188
原创 2020.8.16 精彩每一天
今天的任务基本已经完成,多刷了两道题,但是项目没有全部整理完成。明日的任务:1.刷完所有的位运算的题目,如果觉得刷不完就先今晚刷一下。2.把项目run起来,想想怎么整合整个东西。3.看一下教师资格证,看两个小时吧。补充:不知道教师资格证难度,如果有时间的话可以多看几个章节。...
2020-08-16 21:19:49 88
原创 2020-08-15 精彩每一天
8.15明日安排:1.重装qt软件 2.ppt 3.整理整个项目 4.刷三个位运算的题目。 5.师姐给讲解一下教师资格证
2020-08-15 22:59:59 84
原创 买卖股票的最佳时机系列
读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目:买卖股票的最佳时机买卖股票的最佳时机 II买卖股票的最佳时机 III买卖股票的最佳时机 IV最佳买卖股票时机含冷冻期买卖股票的最佳时机含手续费-----------很多读者抱怨 LeetCode 的股票系列问题奇技淫巧太多,如果面试真的遇到这类问题,基本不会想到那些巧妙的办法,怎么办?所以本文拒绝奇技淫巧,而是稳扎稳打,只用一种通用方法解决所用问题,以不变应万变。这篇文章用状态机的技巧来...
2020-08-15 19:18:22 244
原创 2020-08-14 精彩每一天
dairy 8.14今天是八月十四日,中午休息的时候看到了三年前写的博客。是那个时候状态不好的时候梁老师告诉我的。记录一下每一天的规划和完成的项目。其实还是挺好的,看了那时候每天的规划还是很充实的。至少知道每天自己干了些什么,也不用整天浑浑噩噩的。现在看到那些内容有一丝丝的伤感和庆幸。伤感就是由于感叹时间过得好快啊,转眼的时间自己已经是研二了。庆幸是很开心当时有那么多老师真诚的帮助,主要是那种真心的帮助你,想让你考上研究生,帮助你改掉自己的坏习惯,让你更好的学习更好的进步。非常感谢老师和努力的自己,可以
2020-08-14 14:27:03 93 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 725 1
原创 C++后台开发
转自作者:AJ,自己留着学习。在去年结束的秋季招聘中,后台开发或服务器开发的岗位需求一度火热,甚至超过了算法岗。不少同学从诸神黄昏的算法岗战场上退下,转向更偏向工程能力的后台开发岗,从而造成后台开发岗位竞争的大爆发。后台开发工程师主流使用的编程语言有C++、Java、PHP以及目前慢慢流行的Golang等。本文就将以C++的角度,讲讲如何学习和准备后台开发的岗位。一、语言基础无论是C++开发还是Java开发,对于一个码农而言,最重要的就是对于编程语言的熟悉。同样,无论从事哪种类型的...
2020-05-12 12:02:42 3276
原创 C++高频面试题目
作者:守望者1028链接:https://www.nowcoder.com/discuss/55353来源:牛客网C++研发高频笔/面试题目笔试:笔试这一块想不到特别好说的,很多时候只是公司筛选人的第一步,分数高低代表意义不大(尤其是大公司,现身说法,我的腾讯笔试真的是呵呵哒),当然笔试是一个门槛,不过后面很可能就不用谈了。我笔试经验也不足,感觉笔试考察最重点的就是算法的熟悉程度,代码能力,我笔试成绩通常不太高,原因是我编程题速度比较慢,往往都做不完。以C++开放举例,粗略说说笔试一般会考哪些内容
2020-05-12 10:04:21 1277
转载 C++学习路线
作者:做一只奔跑的蜗牛链接:https://www.nowcoder.com/discuss/328508来源:牛客网C++: C++Primer 基础书籍,初学者建议精读,可重点关注一些C++11的新特性,比如智能指针、移动构造等在面试中常考的特性 深度探索C++面向对象模型,这是一本建立起C++面向对象模型观的好书,个人收益良多,另附一份此书总结的技术博客,写的很好,读完本书再读一遍博客,绝对收获满满,以至于我后面复习C++面向对象观,直接对着博客看了:http删掉我://..
2020-05-12 09:23:42 298
原创 C++ primer 学习4
1.因为一个基类的对象可能是派生类的一部分,也可能不是,所以不存在从基类到派生类的自动转换。2.当我们用一个派生类对象为一个基类对象初始化或者赋值的时候,只有该派生类对象中的基类部分会被拷贝,移动,或者赋值,他的派生类部分将会被忽略掉。3.如果虚函数使用默认实参,则基类和派生类中定义的默认实参最好一致。4.有纯虚函数的类为抽象基类,我们不能创造抽象基类的对象。5.进行名字查找时,我...
2020-05-07 16:41:02 139
原创 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 275
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人