自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

咸鱼的日常划水

划水之王

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

原创 KMP 算法

KMP 算法看了好多没搞懂,然后看了海大的知乎一下子清晰了好多。附海大链接首先先理解一下PMT表:现在有一个字符串"ababababca"和一个用来匹配的子串“abababca”对子串进行分割:分为"a",“ab”,“aba”,“abab”,“ababa”,“ababab” ,“abababc”,“abababca”分别对这些分割的字串找到他们的前缀和后缀例如“aba” 的前缀有"a"...

2020-03-22 14:57:52 130

原创 蓝桥杯vip字符串对比

蓝桥杯vip 字符串对比题目如下给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:1:两个字符串长度不等。比如 Beijing 和 Hebei2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(...

2020-03-04 14:50:46 262

原创 蓝桥杯vip题阶乘计算

蓝桥杯vip题阶乘计算详细题目输入一个正整数n,输出n!的值。其中n!=123*…*n。算法描述n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!...

2020-03-02 11:14:33 171

原创 大整数的运算

大整数题整体套路还是字符串模拟加法首先判断大数的符号:同号相加,异号相减//判断符号 fa = ('-' == A[0]); fb = ('-' == B[0]); //异号为减,同号为加 if (fa ^ fb) minus(A, B); else add(A, B);处理同号对同号的处理就是模拟相加模拟就要考虑到加法运算的问题,顺序我们是没法进行正常...

2019-11-17 22:15:47 130

原创 leetcode009回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:你能不将...

2018-10-16 14:31:36 104

原创 leetcde007反转整数

给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。这题很没意思,就是控制下溢出和截断的条件就好了。class...

2018-10-15 23:34:52 177

原创 Qt实现对文件夹的遍历

遍历一个文件夹是我们用Qt非常常用的功能,Qt提供了非常好的接口,现在先写个简单的例子。如何去遍历一个文件夹如何实现对文件的过滤如何实现对文件类型的过滤如何对文件路径排序输出 QDir dir("C:/Users/st/Desktop"); //要判断路径是否存在 if(!dir.exists()) { qDebug() <&

2018-10-13 00:25:25 7565

原创 leetcode-001两数之和

第一种方法:暴力枚举public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> result; for(int i = 0 ; i<nums.size();i++) {

2018-10-10 18:28:56 105

原创 对crytopp进行二次封装

静态编译的crytop库太过臃肿了,整整150m,我们实际上使用时只需要调用其中的个把库就行了,而且静态库对项目的编译模式的限死,对vs版本的限制都是困扰我们的问题,所有我们对它进行二次封装,把它中的个别库提取出来封装成dll。首先我们把我们要用的库先封装成一个类我这边用的是crc这个类就是做校验的,它的老大哥叫md5是不是很熟。类的链接:我们在vs里新建一个dll项目然后我们将这个类放...

2018-10-09 22:48:11 483

原创 编译使用crytopp加密库(静态编译)

在数据传输过程中,数据的加密和校验显的格外重要。crytopp提供我们需要的大部分的加密库,现在我们通过静态编译使用这个项目(相对动态库,静态库安全好用,就是体积大了点)首先我们去crytopp官网下载这个库的压缩包链接:CRYTOPP下最新的版本就好了对下载好的包解压完,打开项目打开项目后,看到4个项目我们要编译的是静态库,所以我们生成cryptlib项目当我们编译这项目可以会出现这样...

2018-10-08 23:54:40 1365

原创 vs2017(c++)添加自定义注释

注释的重要性不言而喻,作为宇宙第一ide的vs,他对c++添加自定义注释居然不是那么方便。。。下面来介绍一种简单添加自定义注释的方法:我这边默认vs是装在c盘的其它的自己找下目录直接找到这个目录C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\Snippets\2052\Visual C+...

2018-10-05 08:52:48 10040 2

原创 makefile的语法与优化

Makefile的基础语法makefile 的注释类似py , 以#开头的行为注释行#比如这样变量的用法也类似py, = 来赋值,+= 来添加字符串$(xx) 来取出xx的值$@ 指代target$^ 指代 依赖列表$< 指代 依赖列表的第一项$(wildcard ./*.cpp) wildcard用来筛选下面来看个例子在这里插入代码片...

2018-09-30 21:11:27 259

原创 简单的makefile用法

Linux编译c++/c 一般都是用g++或者gcc编译器,相比window下集成好的工具,gcc们需要自己手动编译软件,所以我们利用makefile来帮助我们编译。下面我们来编译一下最简单的helloworldhelloworld: g++ helloworld.cpp -o helloworld完整代码见:在终端直接输入make,就会自动编译如果make不能识别直接安装下make...

2018-09-30 14:17:38 2735

空空如也

空空如也

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

TA关注的人

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