自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(274)
  • 资源 (5)
  • 收藏
  • 关注

原创 Centos7通过yum安装jsoncpp库

拒绝下载软件包一堆网上下载安装包,为了编译暗转包又下载插件,是真麻烦看看有没有jsoncpp的相关库$ yum list | grep jsoncpp-devel然后执行这两句,就完了yum install jsoncpp.x86_64yum install jsoncpp.devel.x86-64多简单...

2021-05-16 23:41:21 2944 5

原创 OC中的基本容器和基本数据类型

NSString与C++中String类的功能很像,NSString是OC中存储字符串类型的一种容器NSString 的实例的创建动态方法创建NSSting实例的创建有很多种方式直接赋值一个字符串,此时字符串为常量字符串分配空间再进行初始化,此时还没有赋值默认为nil,需要对其进行赋值操作分配空间时进行有参数的构造用c语言格式字符串对NSString进行初始化带有格式化参数对NSString进行赋值操作//这中方式创建是常量字符串 NSString *str1 = @"A S

2020-11-05 22:02:24 614

原创 OC中的类

OC中类OC中类的定义在Xcode中创建一个新的类,会自动给你生成两个文件一个是.h另外一个是.m文件,你新创建的类默认继承了NSObject类,因为有一些方法都需要基类中的方法。比如alloc分配内存OC中用来描述类的使用@interface 类名:父类来进行定义然后用@end来定义类的结束@interface NsFirst : NSObject{ int _age; int _no;}- (void )setAge:(int)age;-(int)getAge;-(voi

2020-11-05 15:21:37 381

转载 sql语句的经典练习

表结构–1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id) – –课程编号, 课程名称, 教师编号 –3.教师表 Teacher(t_id,t_name) –教师编号,教师姓名 –4.成绩表 Score(s_id,c_id,s_score) –学生编号,课程编号,分数2、测试数据--建表--学生表CREATE TABLE `Student`(

2020-08-25 15:50:52 300

转载 Mysql大表优化方案

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNEDVARCHAR的长度只分配

2020-06-28 19:56:19 357

原创 git的用法

git远程HelloWorld项目仓库,代码版本:master主干分支git bash:本地客户端下载####git clone 做的事情?通过git clone ssh远程仓库地址就可以将远程仓库代码拉到本地有两个东西自动创建,远程仓库名称origin,这个名字是上传时候用的名字,这个名字可以更改;在git bash下输入ls -a 有一个隐藏文件夹.git/,在.git/config文件中remote中,被""引起来的就是远程仓库名,可以进行一个更改本地仓库,本地生成一个默认的主干分支m

2020-06-13 19:42:37 217

原创 质数相关问题

试除法判定质数题目描述给定n个正整数ai,判定每个数是否是质数。输入格式第一行包含整数n。接下来n行,每行包含一个正整数ai。输出格式共n行,其中第 i 行输出第 i 个正整数ai是否为质数,是则输出“Yes”,否则输出“No”。数据范围1≤n≤100,1≤ai≤2∗109输入样例:226输出样例:YesNo代码#include<iostream>using namespace std;bool is_prime(int x){ if(x

2020-05-22 09:10:30 445

转载 架构的演变

基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍。1.什么是分布式?系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat分别部署在不同服务器上。2.什么是高可用?系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有高可用性。3.什么是集群?一个特定领域的软件部署在多台服务器上并作为一个整体提供一类服务,这个整体称为集群。如Zookeeper中的

2020-05-19 20:34:08 645

转载 Xshell链接不上云服务器的解决方案

1.ssh拒绝请求https://www.cnblogs.com/fh-fendou/articles/9938794.html

2020-05-08 10:46:10 1159

原创 单调栈

题目描述给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出-1。输入格式第一行包含整数N,表示数列长度。第二行包含N个整数,表示整数数列。输出格式共一行,包含N个整数,其中第i个数表示第i个数的左边第一个比它小的数,如果不存在则输出-1。数据范围1≤N≤1051≤数列中元素≤109输入样例:53 4 2 7 5输出样例:-1 3 -1 2 2...

2020-04-26 19:20:16 188

原创 二进制中1的个数

题目描述给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数。输入格式第一行包含整数n。第二行包含n个整数,表示整个数列。输出格式共一行,包含n个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中1的个数。数据范围1≤n≤100000,0≤数列中元素的值≤109输入样例:51 2 3 4 5输出样例:1 1 2 1 2解题思路方法1以10...

2020-04-23 21:55:57 514

原创 数组元素的目标和

题目描述给定两个升序排序的有序数组A和B,以及一个目标值x。数组下标从0开始。请你求出满足A[i] + B[j] = x的数对(i, j)。数据保证有唯一解。输入格式第一行包含三个整数n,m,x,分别表示A的长度,B的长度以及目标值x。第二行包含n个整数,表示数组A。第三行包含m个整数,表示数组B。输出格式共一行,包含两个整数 i 和 j。数据范围数组长度不超过100000。...

2020-04-23 21:11:11 1387 2

原创 最长连续不重复子序列

题目描述给定一个长度为n的整数序列,请找出最长的不包含重复数字的连续区间,输出它的长度。输入格式第一行包含整数n。第二行包含n个整数(均在0~100000范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复数字的连续子序列的长度。数据范围1≤n≤100000输入样例:51 2 2 3 5输出样例:3解题思路代码实现...

2020-04-22 21:09:04 479

原创 差分矩阵

题目描述输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数x1, y1, x2, y2, c,其中(x1, y1)和(x2, y2)表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上c。请你将进行完所有操作后的矩阵输出输入格式第一行包含整数n,m,q。接下来n行,每行包含m个整数,表示整数矩阵。接下来q行,每行包含5个整数x1, y1...

2020-04-21 12:44:48 1428

原创 差分

题目描述输入一个长度为n的整数序列。接下来输入m个操作,每个操作包含三个整数l, r, c,表示将序列中[l, r]之间的每个数加上c。请你输出进行完所有操作后的序列。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数序列。接下来m行,每行包含三个整数l,r,c,表示一个操作。输出格式共一行,包含n个整数,表示最终序列。数据范围1≤n,m≤100000,1≤l≤...

2020-04-21 11:18:08 258

原创 子矩阵的和

题目描述输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1, y1, x2, y2,表示一个子矩阵的左上角坐标和右下角坐标。对于每个询问输出子矩阵中所有数的和。输入格式第一行包含三个整数n,m,q。接下来n行,每行包含m个整数,表示整数矩阵。接下来q行,每行包含四个整数x1, y1, x2, y2,表示一组询问。输出格式共q行,每行输出一个询问的结果。数据范围...

2020-04-21 10:22:42 1895 1

原创 前缀和

前缀和输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l, r。对于每个询问,输出原序列中从第l个数到第r个数的和。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数数列。接下来m行,每行包含两个整数l和r,表示一个询问的区间范围。输出格式共m行,每行输出一个询问的结果。数据范围1≤l≤r≤n,1≤n,m≤100000,−1000≤数列中元素...

2020-04-21 09:42:12 178

原创 文件压缩(基于LZ77的压缩)

LZ77压缩原理初始LZ77LZ77是基于字节的通用压缩算法,它的原理就是将源文件中的重复字节(即在前文中出现的重复字节)使用(offset,length,nextchar)的三元组进行替换这里的长度–offset,距离—length,先行缓冲匹配串的下一个字符总共三个字节初始LZ77的缺陷只是距离按照一个字节的长度,那么只能在先行缓冲区找256个以内的字符,所以压缩率不是很高改进...

2020-03-05 11:55:39 1686

原创 LeetCode【13--罗马数字转整数】LeetCode【14--最长的公共前缀】

罗马数字转整数题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的...

2020-03-04 16:43:41 439

原创 LeetCode【11--盛水最多的容器】LeetCode【12 -- 整数转罗马数字】

盛水最多的容器题目描述给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。解题思路本题的意思是,下标之差与数组所对应的下标的值之和最大所以,一个从前,一个从后,选择两个下标所对应的值最小的,...

2020-03-02 18:29:53 498

原创 LeetCode【9-- 回文数】LeetCode【10 --正则表达式的匹配】

回文数题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。解题思路判断该数的逆序数是不是和原数相同代码实现class Solution {public: bool isPalindrome(int x) { if(x<0) return false; long num ...

2020-03-01 19:09:25 360

原创 LeetCode【7--整数反转】 LeetCode【8--字符串转整数】

整数反转题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。解题思路x%10 取一位,x/10下一位,注意越界,代码实现class Solution {public: int reverse(int x) { int sum = 0; while(x) { ...

2020-02-29 10:24:41 154

原创 LeetCode【5--最长的回文子串】 LeetCode【6--Z字形变换】

最长的回文子串题目描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。解题思路可以跟无重复的最长子串一样,用一个滑动窗口,只不过这个窗口的右边界往右,左边界每回要从右边界的下标往左。还需要一个二维数组记录当前窗口中记录的字符串是不是回文串再需要一个变量记录回文串的长度。比较出最大的回文串例如:baccab首先定义右边界right,左边界l...

2020-02-28 16:32:01 228

原创 LeetCode【3--无重复的最长字串】 LeetCode【4--有序数组中的中位数】

无重复的最长字串题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。解题思路看到这道题,其实就两个步骤,遍历字符串,记录当前字符有没有重复。重复一般解决就是哈希,这里用个数组表示。这里找最长的字串,就是一个滑动窗口,我们在这里用两个下标表示,一个为左边界,一个为右边界,初始值left = 0,right = -1;滑动窗口的滑动就是,右边界扩大,左边界缩小拿...

2020-02-27 17:52:52 207

原创 线程池的实现

什么是线程池一种线程的使用模式,线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。什么地方可以用到线程池任务短,但数量大,例如:网页请求这样的任务,使用线程池非常合适对性能要求苛刻,要求服务器迅速响应客户请求接受突发性的大...

2020-02-27 12:52:24 243

原创 LeetCode【1--两数之和】 LeetCode【2--两数相加】

两数之和题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。解题思路直接两重循环遍历,无脑代码实现class Solution {public: vector<int> twoSum(vector<...

2020-02-26 18:39:24 138

原创 【剑指offer】_19 滑动窗口中的最大值

题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5...

2020-02-07 11:55:08 113

原创 【剑指offer】_18 数据流中的中位数

题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。解题思路一般数据流我们用数组来表示,要得到中位数有很多种方法,这里介绍一种时间复杂度较小的方法,用C++...

2020-02-07 10:15:32 168

原创 【剑指offer】_17正则表达式的匹配

题目描述请实现一个函数用来匹配包括’.‘和'*'的正则表达式。模式中的字符’.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配解题思路就是分两种情况,看表达式的下一个字符是不是'*'pattern下一个字符不为‘...

2020-01-24 14:27:35 101

原创 【剑指offer】_16 构建乘积数组

题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。解题思路设有数组大小为5。对于第一个for循环第一步:b[0] = 1;第二步:b[1] = b[0] * a[0] = a[0]第三步:b[2] = b[1] * a[1] = a[...

2020-01-22 09:33:33 100

原创 【剑指offer】_15数组中重复的数字

题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。解题思路扫描数组{2,3,1,0,2,5,3}下标为0开始,如果当前位置的数不等于它的下标则与下表为当前元素的值进行交换...

2020-01-20 11:57:05 159

原创 详解STL中的空间配置器(SGI版本)

空间配置器1.什么是空间配置器为各个容器高效的管理空间(空间的申请与回收)的2.为什么需要空间配置器各种容器----->可以存放元素---->底层需要空间new 申请空间operator new ---->malloc调用构造函数------完成对象的构造动态内存管理总结前面的容器中,每次开辟空间都用的是new,但是用new有一些不好的地方空间申请与释放...

2020-01-15 11:26:08 861 1

原创 文件压缩(Huaffman树的概念及其实现)

什么是压缩想办法让源文件变得更小并能还原。为什么要进行文件压缩文件太大,节省空间提高数据再网络上传输的效率对数据有保护作用—加密文件压缩的分类无损压缩源文件被压缩后,通过解压缩能够还原成和源文件完全相同的格式有损压缩解压缩之后不能将其还原成与源文件完全相同的格式–解压缩之后的文件再识别其内容时基本没有影响GZIP压缩LZ77变形:原理将重复出现得语句用...

2020-01-14 17:23:37 429

原创 C++中的lambda表达式和线程库

98中的一个例子如果想要对一个数据集合中的元素进行排序,可以使用std::sort方法#include <algorithm>#include <functional>int main(){ int array[] = {4,1,8,5,3,7,0,9,2,6}; // 默认按照小于比较,排出来结果是升序 std::sort(array, array+siz...

2020-01-14 16:05:45 946

原创 详解C++中右值引用

98中的引用概念特性引用的使用场景三种传参方式效率的比较探索:引用的底层实现方式----->指针T&------>T* constconst T&---->const T*const引用和指针的区别引用的总结11中的右值引用为什么要有右值引用为了提高程序运行效率,C++11中引入了右值引用,右值引用也是别名,但其只能对右值引用i...

2020-01-14 11:35:52 5387 3

原创 C++11新特性的总结

C++11新特性auto关键字(C++11)基于范围的for循环(C++11). 指针空值nullptr(C++11)C++动态内存管理序列式容器 array forward_list;继承和多态:final overridedelete:不生成默认的成员函数default:强制编译器生成默认的成员函数智能指针:unique_ptr,shared_ptr,weak_ptr哈希结...

2020-01-13 12:31:38 196

原创 海量数据处理(位图和布隆过滤器)

哈希切割给一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址? 与上题条件相同,如何找到top K的IP?如何直接用Linux系统命令实现解决思路找到出现次数最多的IP地址要找到前TopK的IP地址,就是要统计每个IP地址出现多少次分割大文件:如果能将相同IP地址放到同一个文件中哈希分割: 从源文件中获取一个IP地址---->I...

2020-01-13 11:13:27 475

原创 【剑指offer】_14 不用加减乘除做加法

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。解题思路首先看十进制是如何做的: 5+7=12,三步走第一步:相加各位的值,不算进位,得到2。第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终结果。第三步:重复上述两步,只是相加的值变成上述两步的得到的结果2和10,得到12。同样我们可以用三步走的方式计算二进制值相...

2020-01-12 11:48:00 146

原创 【剑指offer】_13 圆圈中最后的数

题目描述年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数…这样下去…直到剩下最后一个...

2020-01-12 11:45:23 103

原创 详解Linux下通过yum安装Mariadb/MySQL数据库(腾讯云也适用)

1. 安装Mariadb安装命令yum -y install mariadb mariadb-server安装完成MariaDB,首先启动MariaDBsystemctl start mariadb设置开机启动systemctl enable mariadbMariaDB的相关简单配置此命令进入到配置相关界面mysql_secure_installation...

2020-01-07 11:30:02 395

linux_kernel_2-6-11-12_comment.tar.bz2

Linux注释内核

2020-04-07

Linux总结.xmind

菲菲常常详详细细的Linux总结,面试常考点!

2020-04-01

C++总结.xmind

非常详细的C++思维导图,只要把上面的知识点记住,稍微深入即可达到你想达到的程度,非常详细---

2020-02-25

数据结构.xmind

比较全面的数据结构的总结,图文并茂

2019-09-13

C语言.xmind

很全的C语言总结,

2019-09-07

空空如也

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

TA关注的人

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