自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Leetcode--堆类型题总结(单堆与双堆)

目录1.C++中的堆实现2.单堆问题3.双堆问题1.C++中的堆实现可以直接用优先级队列priority_queue默认是大顶堆 priority_queue<int> maxheap小顶堆 priority_queue<int,vector<int>,greater<int>> minheap也可以使用 mul...

2020-03-16 16:18:56 1140

原创 Leetcode- 滑动窗口类型题总结

Sliding window--分为滑动窗口和固定窗口滑动窗口题目一般是在数组、链表、字符串等线性结构上进行操作,比如找最长的子字符串、最短的子字符串等等判断是否需要用滑动窗口法:对象是数组、链表、字符串等线性结构题目要求求具有最短、最长、或固定长度的子序列滑动窗口问题一般具有以下结构:先移动右窗口边界,逐步扩大右窗口,直到达到临界条件,然后循环移动左窗口,并更新问题...

2020-03-10 15:32:04 1897

原创 C++中的常成员函数以及const用于函数重载

1.什么是常成员函数?在类中可以含有普通成员函数和静态成员函数,而使用 const修饰的普通成员函数称为 常成员函数const修饰的是普通成员函数中的this指针指向的内存空间类的普通成员函数中都存在隐藏的 this指针,比如:class Test{private: int a; int b;public: Test(int a,int b) ...

2019-12-27 18:00:47 2761 1

原创 求前K个最大数,或第K个最大数或第K大频率的单词类似问题小结

求前K个最大数,最小数,第K个最大数,或者 出现频率为第K大的单词是哪个 此类问题,首先想到的就是排序,但是求第K最大而已,并不要求完全有序,所以 想到了 大顶堆 和小顶堆我们可以用到 优先级队列 priority_queue,它实际上是一个队列,但是它的功能是始终保持队首元素是当前元素的最大值定义:priority_queue<Type, Container, Functional...

2019-11-22 19:44:52 377

原创 python绘制直方图matplotlib.pyplot.hist( ) 方法常用参数详解

1.在了解绘制直方图函数的参数之前,首先要知道如何绘制直方图:一般而言,直方图一般用于观察数据的分布情况,横轴将根据观测到的数据选择合适的范围进行范围分段,即将整个观测数据的范围分成一系列间隔,每一个间隔称为一个组距,然后计算每个间隔中有多少值;每个间隔中的值称为频数,用纵轴来代表频数的话就是我们常说的频数直方图,此时直方图中的面积没有意义根据纵轴表示的不同,还有一种直方图称为频率直方图,...

2019-11-03 12:07:03 91314 5

原创 Bit Manipulation常用总结

1.判断奇偶奇偶数的特征:如果一个数是偶数,则对于其二进制来说,最低位肯定是0;如果一个数是奇数,则对于其二进制来说,最低位肯定是1,因为在二进制表示中,只有 会产生1所以可以利用这一特征来判断奇偶数if((num&1) == 0){ //偶数}else{ //奇数}注意:不用写为 num&1 == 0 ,这样的判断是错误的,必须给前面...

2019-10-24 13:07:39 1180

原创 Longest Substring Without Repeating Characters--------采用滑动窗口SlidingWindow解题总结

1.可以用滑动窗口法来解决的问题一般为 满足某种条件的最大子数组,最长子字符串,总之就是连续的最长的,(也可以是最小的,还没做过,之后补充)通俗点,滑动窗口就是拿一个可以变宽变窄的框框,在一个字符串上进行移动,当然怎么移动就需要根据问题来具体说明,直到窗口内或者窗口外符合题目要求即可(一般是关注窗口内,当然也有关注窗口外的,下面有具体例子)而且滑动窗口题目一般与哈希set或哈希map结合使...

2019-10-21 22:20:27 185

原创 皮尔逊相关系数与p值

1.皮尔逊相关系数假设有两个变量x,y则两者之间的皮尔逊相关系数为:皮尔逊相关系数衡量的是两者之间的相关关系,取值范围为[-1,1],取值为正表示正相关,取值为负表示是负相关,同时,皮尔逊相关系数衡量的是两个变量之间的线性关系,如下图,横轴与纵轴变量有明显的线性关系,由公式计算出来相关系数为 0.9836,高度相关性;而当两个变量之间有相关关系但是不是线性时,用皮尔逊相关系数衡量则会...

2019-10-21 13:23:26 66245 9

转载 递归的三大要素

链接:https://www.zhihu.com/question/31412436/answer/683820765来源:知乎递归的三大要素第一要素:明确你这个函数想要干什么对于递归,我觉得很重要的一个事就是,这个函数的功能是什么,他要完成什么样的一件事,而这个,是完全由你自己来定义的。也就是说,我们先不管函数里面的代码什么,而是要先明白,你这个函数是要用来干什么。例如,我定...

2019-10-03 11:14:49 12247 2

原创 分治法的解题总结

1.首先说明是分治法?分治法的核心思想是将 原问题拆解为 若干个规模较小的子问题,而子问题 可以很容易解决,并且最后可以通过子问题的解进行合并来得到原问题的解分治法是按照分治模式建立的算法:分治模式在每层递归时都有三个步骤:分解原问题为若干子问题 解决子问题(递归求解) 合并子问题的解得到原问题的解一般来讲,解决子问题比较简单,因为子问题已经缩小到了一定规模,很容易求出来;一...

2019-10-01 15:36:08 1380

原创 有关leetcode中丑数Ugly Number

1.定义:什么是丑数?一般的丑数 是 指其 素数因子 只含 2, 3 ,5所以,第一题:如何判断一个正数n是否为丑数;由于丑数中只含素数因子 2,3,5,所以一个数如果是丑数,则必然是 2,3,5的相互相乘的组合,所以我们可以让 n先除以2,直至不能除为止,然后除以3,直至不能除为止,最后除以5,直至不能除(即有余数)为止,判断:如果最后的商为1,则说明该数是丑数所以,代码如下:...

2019-09-29 21:33:45 199

原创 Fraction to Recurring Decimal分数转化为小数解题分析

1.问题描述Given two integers representing the numerator and denominator of a fraction, return the fraction in string format.If the fractional part is repeating, enclose the repeating part in parenthes...

2019-09-22 21:31:16 372

原创 借助递归实现链表指针的前移以及链表题目的一点小总结

链表不同于数组,知道一个节点,我们只能知道其后继节点,而不能知道其前驱节点,更无法直接移动到前驱节点而由于递归可以通过压栈出栈来记录中间各节点,相当于依次将 链表节点压栈,然后需要时进行依次出栈,比如压栈顺序a,b,c,d,则出栈顺序为 d,c,b,a,以此来模拟链表指针的回溯下面通过例子来进行说明:1.给定一个单链表,判断该链表是否属于回文结构如果给定的是一个数组,那么该...

2019-09-05 22:16:58 1033

原创 深度搜索处理问题的关键 --- 做leetcode深度搜索类题目小结

1.深度优先搜索中的关键2.深度优先搜索小结3.深度优先搜索和回溯法的区别4.深度优先搜索与递归的区别1.深度优先搜索中的关键深度搜索算法通常用来 解决 全排列,不重复组合,分组问题,多条路径,路径的条数等等对于深度优先搜索,最重要的参数有两个,第一是 深度搜索的次数 step,可以看做需要将待搜索的结果放入到 step 个盒子中,直到放满为止。第二个是每一...

2019-08-24 11:30:18 2315 1

原创 getline 函数和标准输入流的cin.getline的用法和不同

1.getline()函数的定义:istream& getline(istream& is,string & str, char delim = '/n')其中 istream 是输入流,getline()函数从输入流中读取数据str为字符串,存取从输入流中读取的数据delim为分隔符,遇到分隔符时,将已读取到的数据存入str中,默认分隔符为'/n',也可以...

2019-08-12 16:31:21 1281

原创 C++中string类的方法总结

string类与C语言中的以 '/0' 结尾的字符串不同, string类的本质上是以字符作为元素的vector特化版本;不存在0字符结尾这个概念,能装入'\0'这种数据本文介绍string类的常用方法,方便日后复习:1.常用构造函数string s1;//定义字符串,调用默认构造函数,生成空字符串 s1 = "";string s2("abcde"); //定义字符串,并调用s...

2019-08-11 11:34:27 901 1

原创 解决SecureCRT中vim界面高亮的问题

1.首先要注意不一定是linux系统的问题,首先查看一下你的SecureCRT的设置按如下步骤进行设置然后继续选择 外观 类别,按下图进行更改此时,进入vim进行查看,如果已经高亮显示,则结束;否则进入第二步2.此时就必须在Linux系统中进行改进才能解决此时需要手动设置一个配置文件:.vimrc。在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件...

2019-07-28 12:40:50 1780

原创 VMware虚拟机中linux系统CentOS中root用户登录输入密码后显示"鉴定故障"的解决办法,忘记root密码的解决方案

一般产生这种问题的原因是root密码错误,所以选择重置密码,原理是进入linux的不同级别的运行模式,运行模式 1 表示单用户模式,这种模式下不需要root密码就可以登录,所以按如下步骤进行运行模式 1,重置密码:1、重启系统,在开机界面提示三秒内输入时候,按 “e”,进入如下界面:2.在按 "e"进入如下界面,并选择第二项:3.选取第二项按"e"之后进入如下界面:...

2019-07-26 21:31:21 8425 1

原创 全排列问题(不含有相同元素与含有相同元素的全排列问题)

1.给定一个数组,数组中元素均不相同,写出数组元素的全排列组合比如: [1,2,3]Output:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]由于数组中不含相同元素,所有不用考虑重复问题,现在我们来解析 [1,2,3]的全排列是如何得到的:1,2,3的全排列,我们先看后两个数[2,3]的...

2019-07-23 22:20:16 3958

原创 Leetcode中有关Sum问题的一些总结----通用性方法

1.最简单的TwoSum问题问题描述:Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and y...

2019-07-23 12:12:41 401

原创 Dynamic programming动态规划算法

1.什么是动态规划算法?动态规划算法是指将复杂问题拆分为简单问题,并存储简单问题的结果,避免重复计算。也就是说动态规划算法需要满足以下3个特点:1.可以将问题分解为相似的子问题,并且子问题有重复 2.每一个子问题只解决一次 3.存储子问题解决后的结果2.什么样的问题可以用动态规划解决?可以用动态规划解决的问题主要有如下3个特征:1. 重复的子问题 2. 最优子结构...

2019-07-19 12:06:44 263

原创 哈希表与STL中的unordered_map(hash_map)、unordered_set(hash_set)

1.什么是哈希表,为什么要有哈希表?总的来讲,哈希表是一种查找和存储结合一体的技术。想一想我们在顺序表(如数组)中查找是怎么查找的,我们遍历数组,将每一个元素都与给定关键字进行比较,直到查找成功或遍历结束,查找时间复杂度为O(n); 但O(n)实在是太慢了,尤其是在海量数据中查找某一个关键字,所以我们提出了改进查找算法,先将顺序表中元素进行排序(排序时间复杂度不计入查找时间复杂度),...

2019-07-14 12:14:01 855

原创 C++中toupper、tolower 、isalpha、isalnum、isdigit、islower、isupper、isblank、isspace的用法

1.toupper()int toupper(int)接收和返回的都是该字符的ASCII码,用的时候直接输入字符就可以,C++内部会自动转换将一个字符转换为大写char c = 'c';char tmp = tolower(c);//将小写字母c转为大写,返回大写c的ASCII码,由于char类型变量接收,内部自动完成转换cout << tmp;//输出大写C...

2019-07-12 12:10:34 1505 2

原创 啊哈算法炸弹人游戏----深度优先搜索与广度优先搜索

1.问题描述:在炸弹人游戏中,你有一颗炸弹,该炸弹的威力是十字形的,即只能爆出上下左右型的火焰,且火焰不能穿墙,问应该将炸弹放到哪里炸弹才能杀死最多的小怪?(注:该位置必须是炸弹人能有初始位置走到的位置,毕竟炸弹人不能飞,墙或者小怪都能阻挡炸弹人的路径),现在游戏地图如下图所示,炸弹人的位置在(3,3)处。2.解题思路:需要先将问题抽象出来,我们可以用一个 二维数组 来表示 游戏地图...

2019-07-08 16:16:56 799

原创 1-9九个数字不重复组成一个三位数加法算式,求出所有组合

问题描述:将1-9的9个数字不重复的填入[ ][ ][ ] + [ ][ ][ ] = [ ][ ][ ],使得等式成立如 173 + 286 = 459 且 将 286 + 173 = 459 视为同一种,问满足这样条件的情况有几种问题解法:将9个不重复数字填入到9个位置并且满足等式成立条件,可以看做求9个数组的全排列,只要全排列满足 前3个数字 + 中间3个数字 = 最后3个数字即可...

2019-07-07 21:23:52 41918 1

原创 vector、list的常用成员函数及其返回值

vector常用成员函数vctor常用的成员函数,总结一下,方便应用,重要的是明白各个成员函数的参数和返回值,返回值尤其重要,且容易被忽略vector::size_type一个无符号整数类型vector::difference_type一个有符号整数类型vector::iterator可变的随机类型迭代器,支持随机索引vector::reverse_iter...

2019-07-02 22:32:52 1871

原创 size_type类型与size_t的异同

1.什么是size_type?size_type 如同 int 、float等 一样也是一种数据类型,不同之处在于size_type会适应机器,不同的机器size_type会有不同的长度;只要你使用了这个类型,就使得你的程序适合这个机器。与实际机器匹配size_type是由string类型 和 vector类型 定义的 类型,用以保存任意string对象或vector对象的长度,标准库类型将s...

2019-07-02 21:47:54 4317

原创 字符串形式的二进制之和 与 数组形式的十进制之和

字符串形式的二进制之和(Leetcode)QUESTION:Given two binary strings, return their sum (also a binary string).The input strings are both non-empty and contains only characters 1 or 0.Example 1:Input: a = "11", ...

2019-07-02 16:08:35 187

原创 Numpy中排序操作partition,argpartition,sort,argsort

Numpy中的排序相关操作sort,argsort,partition,argpartition1.np.sort()2.np.argsort()3.np.partition()4.argpartition()1.np.sort()np.sort(a, axis=-1, kind='quicksort', order=None)参数参数说明a待排序数组array...

2019-03-19 18:48:32 2640 5

原创 python中os模块常用方法整理

python中os模块1.os模块的部分常用属性(Windows系统)2.os模块的部分常用方法3.os.path模块常用方法总是忘记os模块中的部分操作,整理一下便于记忆os模块是python标准库中访问操作系统的模块,可以适应于不同的操作系统平台,快速完成文件、目录的相关操作,如查找文件的目录,为文件创建新目录等1.os模块的部分常用属性(Windows系统)os模块常用属性...

2019-03-14 11:15:02 6654

原创 sklearn.svm.SVC中kernel参数说明

sklearn.svm.SVC中kernel参数说明常用核函数线性核函数kernel='linear'多项式核函数kernel='poly'径向基核函数kernel='rbf'sigmod核函数kernel='sigmod'常用核函数线性核函数kernel=‘linear’多项式核函数kernel=‘poly’径向基核函数kernel=‘rbf’sigmod核函数kernel=‘si...

2019-03-12 17:33:27 25754 3

原创 sklearn.svm.SVC的参数学习笔记

sklearn.svm.SVC的常用核函数kernel说明常用kernel线性核函数kernel='linear'多项式核函数kernel=‘poly’径向基函数kernel=‘rbf’Sigmod核函数kernel='sigmod’常用kernel线性核函数kernel=‘linear’这与使用LinearSVC类实现的效果一样,但要注意,使用SVC(kernel='linear)要慢的...

2019-03-12 11:57:55 5211

原创 Palindrome Number,回文数,分离数字的个位十位百位等

如何用python判断一个正整数是否是回文数直接转换为字符串用字符串方法判断分离个十百千…位出来进行判断(分离个十百千位的方法,比如有时需要取出456的百位4,十位5,个位6等)1.字符串判断方法def isPalindrome(num): strs=str(num) #将数字转换为字符串 if strs==strs[::-1]: ...

2019-03-10 18:12:06 1501

原创 Numpy中 meshgrid 和等高线绘图contour/contourf的搭配使用

Numpy中 meshgrid() 和等高线绘图contour()/contourf()的搭配使用np.meshgrid()接收参数np.meshgrid(x1,x2,x3...)x1,x2,x3…为代表网格坐标的一维数组网格坐标(以最为常见的二维网格为例):在一个二维平面中,设横轴坐标是1,2,3,过这几个点做平行于纵轴的直线,纵轴坐标为2,3,4,过这几个点做平行于横轴的直线,则各条...

2019-03-06 20:40:32 5141 2

原创 Numpy中random模块常用方法学习

np.random.choice([2,4,7,6,9])

2019-03-04 19:59:07 772

空空如也

空空如也

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

TA关注的人

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