3 一个程序渣渣的小后院

尚未进行身份认证

暂无相关描述

等级
博文 230
排名 1w+

每天一道LeetCode-----判断数组中是否存在两个位置上面的值相等并且下标的差小于某个值

原题链接ContainsDuplicateII判断给定数组中是否存在i和j,使得nums[i]==nums[j]并且j-i<=k只需要保存每个数最后出现的下标,当再次遇到这个数时,进行比较,如果满足条件则返回,否则更新下标实现代码如下classSolution{public:boolcontainsNearbyDuplicate(ve...

2018-06-13 17:23:22

每天一道LeetCode-----找到由连续数字组成的数组中缺失的那个连续值

原题连接MissingNumber给定大小为n的数组,由0,1,2,…,n构成,也就是缺少了一个值,找到它。要求时间复杂度是O(n),空间复杂度是O(1)因为整体有序而且每个元素是严格加一递增(只有一个不是,假设这个值是m),考虑下面两个和的表示形式sum1=0+1+2+...+m-1+m+1+...+n=1+2+...

2018-06-12 12:42:13

每天一道LeetCode-----找到给定数组中第三大的值

原题链接ThirdMaximumNumber要求找到给定数组中第三大的数,第一大的数,第二大的数,第三大的数互不相同,即严格的小于关系。并且规定时间复杂度是O(n)。另外如果找不到第三大的数,则返回数组中第一大的数可以用三个变量first,second,third分别记录第一大第二大以及第三大的数,初始化时是整数范围的最小值,在随后遍历数组的过程中进行比较(假设遍历到的数用n表...

2018-06-11 17:36:47

C++代码片段(五)tuple的实现

元组tuple是多类型的集合,可以当做升级版的pair来用。因为tuple可以保存多个任意类型的值,导致不能够在一个类里面保存所有的数据,所以采用每一层保存一个数据的方法实现实现tupletemplate<typename...Args>classtuple{};/*每一层保存一个T类型的数据*/template<typenameT,...

2018-06-08 23:18:31

数据库原理学习笔记(二)数据库范式

范式可以理解成在设计数据表时的规范级别,常见的范式有第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第一范式要满足第一范式,要求数据表的每个属性无法再分,也就是需要满足原子性。可以把“不可再分”理解成无法用一个单独的值表示,比如说“系”这个属性,平时常说的“计算机系”,“化学系”实际上指的是系名,而系的管理者被称为系主任,所以对于“系”这个属...

2018-06-04 23:23:23

数据库原理学习笔记(一)关系完整性以及数据库完整性

关系完整性是对关系的某种约束,当关系随着时间变化(增删改等操作改变数据库关系表)时应该满足一定的约束条件,通常这些约束条件都依赖于客观事实关系完整性包含三个方面,分别是实体完整性参照完整性用户自定义完整性其中实体完整性和参照完整性是关系模型必须满足的约束条件,或者说是所有数据库管理系统都自动支持的约束条件。而用户自定义完整性则是根据不同的应用程序(不同的使用场景)有选择的设置的...

2018-06-03 23:53:55

C++代码片段(四)萃取模板类的模板参数类型

例如有类型Test<int,double,std::string>可以萃取出模板参数分别是int,double,std::string方法如下#include<tuple>#include<iostream>template<typename...>structtemplate_argument...

2018-06-03 18:51:37

解决MySQL使用LOAD导入中文数据乱码的问题

假设将文本employee.txt中的数据导入到表EMPLOYEE中出现乱码的SQL语句LOADDATALOCALINFILE"employee.txt"INTOTABLEEMPLOYEE;解决方法,在后面添加charactersetutf8LOADDATALOCALINFILE"employee.txt"INTOTABLEEMPLOYEE...

2018-06-03 18:40:45

C++代码片段(三)过滤可变模板参数中某些类型的变量

将可变模板参数列表中的某些类型过滤掉,然后返回剩下数据的元组。用到了上一篇中的判断可变模板参数中是否包含某一特定类型的方法#include<iostream>#include<tuple>#include<string>#include<vector>#include<list>template<ty...

2018-05-29 19:06:35

解决无法将自己github上的代码clone到/usr目录下的问题

Linux下代码存在的位置有两种/home下面,需要当前用户权限/user/local/include以及其他类似的位置,需要root用户权限与之对应的.ssh位置也有两个~/.ssh,保存当前用户的publickey/root/.ssh,保存root用户的publickey将代码clone到/home目录下申请ssh公钥(email替换成注册github时...

2018-05-28 12:31:16

C++代码片段(二)判断可变模板参数中是否包含某一特定类型

首先定义基础模板类,表示不包含给定类型template<typenameT,typename...Args>structcontains:publicstd::false_type{};接着进行特化,将可变模板参数中的类型逐个和目标类型进行比较,直到类型相同或者模板参数列表为空template<typenameT,typenameU...

2018-05-26 17:26:43

C++代码片段(一)萃取函数返回值类型,参数类型,参数个数

函数的类型主要集中在以下几种函数指针函数对象,是一个类对象,内部重载的operator()函数是一个函数指针lambda,匿名函数对象,同函数对象function对象后三者都是类对象,可以看成一种类型定义基础模板类template<typenameT>structfunction_traits;针对函数指针进行模板特化对...

2018-05-26 15:27:49

每天一道LeetCode-----判断给定字符串是否符合某个模式

IsomorphicStrings原题链接IsomorphicStrings给定两个字符串,判断其中一个是否能转换成另一个,转换规则如下必须是一对一同一个字符两次转换必须相同,如果第一次字符’a’转换成’b’,那么当下次遇到’a’时,它就只能转换成’b’不能有两个字符转换成相同字符,如果第一次’a’转换成’b’,那么之后其它的字符都不能再转换成’b’思路:通过两...

2018-03-06 11:38:51

HTTP协议学习笔记(一)请求方法名及状态码

HTTP协议是位于TCP协议之上的应用层协议,是应用进程之间通讯的一种协议。之所以称之为应用层协议,是因为它无需关心数据是通过什么方式到达对端的,在到达对方的应用程序之前都经历了什么,而只需要协商好使用的数据格式,保证一方可以解析出另一方的意图即可这也是TCP/IP协议的真正目的,上层无需过度关心底层的实现细节当用户在浏览器上输入一段网址后,主要经历了以下几个阶段dns解...

2018-03-05 23:35:19

每天一道LeetCode-----计算小于n的素数个数

CountPrimes原题链接CountPrimes计算小于n的素数个数思路:如果一个数m是素数,那么所有m*k就都不是素数。另外2是最小的素数代码如下classSolution{public:intcountPrimes(intn){vector<int>nums(n1);intc...

2018-03-05 11:13:58

每天一道LeetCode-----判断一个数是否是happy number(每一位的平方和最终为1)

HappyNumber原题链接HappyNumber对一个数的每一位求平方和,如此反复下去,知道满足以下条件时证明这是一个happynumber某一时刻平方和为1进入无限循环按要求做就可以了classSolution{public:boolisHappy(intn){if(n==1){r...

2018-03-04 22:47:51

每天一道LeetCode-----计算给定范围内所有数的与运算结果

BitwiseANDofNumbersRange原题链接BitwiseANDofNumbersRange计算[m:n][m:n][m:n]范围内的所有数的与运算结果首先需要明确几个知识点a&(a+1)a&(a+1)a\&(a+1)的最低位一定是00&b0&b0\&b的结果一定是0a&(a+1)&amp...

2018-03-03 21:15:29

TCP/IP学习笔记(九)TCP报文段首部格式

TCP为了实现稳定可靠的传输,自然是需要在发送数据时附带一些信息,对端接收到报文段后将用户数据分离开存放在接收缓冲区,然后根据附加信息决定接下来的行为。所以即使TCP是面向字节流的传输协议,但是传输的基本单元却是报文段。报文段由报文首部和数据组成,报文首部最小占20字节最多占60字节,固定的20字节包含各种连接信息,可扩展的40字节存放各种选项值源端口和目的端口各占2个字节...

2018-03-02 21:18:11

每天一道LeetCode-----给定二维数组代表海域和岛屿,计算有多少个孤岛

NumberofIslands原题链接NumberofIslands给定一个二位数组,其中’0’代表水,’1’代表土地,判断有多少个孤岛被水隔开。假定二位数组四周都是’0’思路:遇到一个’1’就代表肯定有孤岛,然后从这个位置开始将所有相邻的’1’都变为’0’代码如下classSolution{public:intnumIslands(vec...

2018-03-02 16:06:20

TCP/IP学习笔记(八)复位报文段

TCP报文首部中存在一个RST位,如果该位被置1则表示这是个复位报文段。当一个报文段从一端发往一个不存在或者处于异常状态的另一端时,就会以一个复位报文段应答发送端,告知发送端连接出现错误,应当被关闭有三种连接情况可能会产生复位报文段尝试连接到一个不存在的<ip,port>主动关闭的一方的套接字设置了SO_LINGER选项,并且超时时间为0另一端异常崩溃导致连接处于半关闭状...

2018-03-01 20:01:21
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!