自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python爬虫——从此不用再愁找不到小说txt文件

看小说者的福利神器

2017-08-09 20:42:45 3077 2

原创 LeetCode 148 排序链表 python

题目描述在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。样例输入: 4->2->1->3输出: 1->2->3->4输入: -1->5->3->4->0输出: -1->0->3->4->5想法一:使用归并排序的思路对链表进行排序 具体的细节在代码中备注了"

2019-02-18 22:22:28 718

原创 LeetCode 146 LRU缓存机制 python

题目描述运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在写入新数据之前删除最近最...

2019-02-16 21:30:47 1262

原创 LeetCode 78 子集 python

题目描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。样例输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]想法一:创建一个内函数 通过遍历start到nums的长度 遍历递归调用函数 然后加入...

2019-01-25 00:13:10 973

原创 HTTP协议(总结)

HTTP协议HTTP(超文本传输协议,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.这个协议最初设计是为了提供一种发布和接受HTML页面的方法.是用于WWW服务器传输超文本到本地浏览器的传输协议.HTTP协议定义在网络七层中的应用层,通过传输层的TCP协议进行传输,因为HTTP协议需要建立连接,所以使用TCP协议不使用UDP协议.为了避免每次...

2018-12-26 11:19:31 423 1

原创 Go语言——基础

Go基础变量Go变量使用方式和C语言接近,但具备更大的灵活性变量声明对于纯粹的变量声明,Go引入了var关键字,类型信息放在变量名之后,示例如下:var v1 intvar v2 stringvar v3 [10]int // 数组var v4 []int // 数组切片var v5 struct { f int}var...

2018-12-10 10:05:14 350

原创 django单元测试

介绍一听到测试,大家可能觉得很无趣,很无聊.但是《改善Python的91个建议》一书中说单元测试绝不是浪费时间的无用功,它是高质量代码的保障之一,在软件开发的一节中值得投入精力和时间去把好这一关。所以今天就来了解下Django的单元测试.以下分编写和运行两个部分来介绍编写测试django编写测试使用python的unittest库django中使用unittest库中unitte...

2018-11-13 16:48:19 690

原创 剑指offer 链表中环的入口结点 python

题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。样例如果有,返回入口节点如果没有,返回None闲话:之前Leetcode也做过一样的题,之前用的是快慢节点,如果产生环,快的一定会追上慢的,但是这回看题,完全忘了这个思路,就直接考虑使用字典以节点为键,下一个节点为值存储.想法一:使用字典以节点为键,下一个节点为值存储.如果产生环就会返回结点,否则...

2018-11-05 13:27:12 261

原创 剑指offer 字符流中第一个不重复的字符 python

题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。样例输入 "google" 输出 "ggg#ll" (注意这里是输入流,字符是一个一个输入的)闲话:这题一开始给的两个方法,我一看还有点懵逼,没有搞懂意思.后面想.

2018-11-02 20:23:41 265

原创 剑指offer 表示数值的字符串 python

题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。样例例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。但是"12e","1a3.14","1.2.3&

2018-11-02 18:00:18 554

原创 Redis基础知识

Redis Key(键)语法COMMAND KEY_NAME基本就是命令加键名Redis Key 常用命令命令描述KEYS pattern根据模式匹配键 KEYS会阻塞线程DEL key删除键DUMP key序列化键,并返回值EXISTS key检查键是否存在MOVE key db移动键到db数据库RENAME key new...

2018-11-02 16:57:21 203

原创 剑指offer 和为S的两个数字 python

题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。样例输入[1,2,3,4,10],11输出[1,10]想法一:由于是排序好的数组,所以从最小的数字low开始找,在数组中找是否存在tsum-low即可class Solution: def FindNumbersWithSum(self,...

2018-10-30 11:26:05 365

原创 Mysql 经典知识点

注意:这是个人笔记,如果有不正确的地方可以在评论指出,大神勿喷锁锁策略表锁(table lock)对整张表加读写锁,读锁可以之间不会相互阻塞,但是当有写锁时,任何用户都不可以获取读锁并且写锁比读锁的优先级高,一个写的命令可能被插入读命令之前.行级锁(row lock)行级锁对每一行添加读写锁,这样可以实现最大程度地支持并发处理,但是也有最大的锁开销.事务原子性(atomicity...

2018-10-26 21:42:32 500

原创 剑指offer 和为S的连续正数序列 python

题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!样例输出所有和为S的连续正数序列。序列内按...

2018-10-26 19:02:23 557

原创 剑指offer 数组中的逆序对 python

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007样例输入1,2,3,4,5,6,7,0输出7想法一:第一眼肯定想到两重循环的方法,这个比较简单就不写了那就说一种方法就是先将列表从小到大排序,然后依次循环,每次都取...

2018-10-26 15:10:07 2751

原创 剑指offer 第一个只出现一次的字符 python

题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).样例输入google输出4想法:第一回遍历一次生成字典,第二回遍历找到值对应的indexclass Solution: def FirstNotRepeatingChar(self, s): ...

2018-10-24 21:39:32 201

原创 剑指offer 连续子数组的最大和 python

题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列...

2018-10-24 17:45:40 320

原创 剑指offer 二叉搜索树与双向链表 python

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。样例返回双向链表的头节点想法一:首先要知道二叉搜索树的中序遍历序列就是排序的数列,之后只需要把当前节点的右子树设为下一个节点,下一个节点的左子树设为该节点.class Solution: def Convert(self, pRootOfTree): ...

2018-10-21 21:39:27 1210 4

原创 剑指offer 复杂链表的复制 python

题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)样例无想法一:分析下题目,很容易想到可以用递归来做.class Solution: # 返回 RandomListNode def Clone(s...

2018-10-21 21:07:28 229

原创 剑指offer 字符串的排列 python

题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。样例例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。想法一:使用itertools库中的permutations方法直接通过字符串构造全排列组合,然后使用set去重后转list再排序# 直接使用itertools中的permutations方法对元素...

2018-10-17 19:58:52 601

原创 剑指offer 丑数 python

题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。样例112200想法:循环每次求乘以2,3,5后最小的数,加入到丑数列表中,最后输出最后一个丑数即可。class Solution: def GetUglyNumber_Sol...

2018-10-16 16:45:38 248

原创 剑指offer 两个链表的第一个公共结点 python

题目描述输入两个链表,找出它们的第一个公共结点。样例无想法一:遍历第一个链表,将所有元素添加到列表当中,遍历第二个链表,拿节点查找是否存在于列表中,如果找到了公共节点,则返回该节点,如果无,返回Noneclass Solution: def FindFirstCommonNode(self, pHead1, pHead2): list1 = [] ...

2018-10-15 21:37:10 846 1

原创 剑指offer 构建乘积数组 python

题目描述给定一个数组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]。不能使用除法。样例A[1,2,3,4,5]B[120,60,40,30,24]想法:思路很简单,两重循环就好,只是用了下reduce函数,不知道reduce函数的可以百度下!class Solution: ...

2018-10-14 21:14:26 279

原创 剑指offer 数组中只出现一次的数字 python

题目描述一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。样例返回[a,b]想法一:通常想法,使用HashMap,两边遍历。class Solution: # 返回[a,b] 其中ab是出现一次的两个数字 def FindNumsAppearOnce(self, array): # write code h...

2018-10-11 17:33:20 172

原创 剑指offer 平衡二叉树 python

题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。样例如果是 返回True如果不是 返回False想法一:遍历节点,计算左右子树的高度,在计算同时,如果有子树不符合平衡二叉树,则返回-1,这样不需要遍历所有节点。流程图如下:代码:class Solution: def IsBalanced_Solution(self, pRoot): # wri...

2018-10-11 15:44:04 457 1

原创 剑指offer 栈的压入、弹出序列 python

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等样例例如序列1,2,3,4,5是某栈的压入顺序序列4,5,3,2,1是该压栈序列对应的一个弹出序列但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)想法一:使用一个辅助栈,遍历压入顺序压入辅助栈中,然后判断辅助栈顶元素是...

2018-10-11 11:32:05 198

原创 剑指offer 二叉树的深度 python

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。样例返回深度即可想法一:递归遍历class Solution: def TreeDepth(self, pRoot): if pRoot is None: return 0 return ma...

2018-10-10 17:26:00 238 1

原创 剑指offer 二叉搜索树的后序遍历序列 python

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。样例[1,2,3,4,5] true[1,2,3,6,4,5]false想法一:使用递归方法,每次取出最后一个元素,即为root,遍历所有节点,找出左子树和右子树,再分别使用该方法进行查找。class Solution: d...

2018-10-09 11:01:07 165

原创 剑指offer 树的子结构 python

题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)样例{8,8,7,9,2,#,#,#,#,4,7},{8,9,2}返回True想法一:使用先序遍历生成两棵树的序列,之后只需要判断序列是否存在即可。class Solution: def __init__(self): self.Root1_list = []...

2018-10-08 21:11:01 254 1

原创 剑指offer 把字符串转换成整数 python

题目描述将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。样例输入+2147483647 1a33输出2147483647 0想法:很简单,从后往前遍历,然后与10的次方相乘后相加,还需要判断最前...

2018-09-28 20:24:05 704 1

原创 剑指offer 重建二叉树 python

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。样例输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}返回二叉树头节点想法:使用递归,既然给你前序遍历序列和中序遍历序列,所以可以通过前序遍历的第一个为中间节点,每次都划分出根节点左子树和右子树的前序遍历序列和中序遍...

2018-09-27 18:03:27 480

原创 LeetCode 82 删除排序链表中的重复元素 II python

题目描述给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。样例示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1

2018-09-26 16:50:37 747

原创 LeetCode 142 环形链表 II python

题目描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。说明:不允许修改给定的链表。样例如果不是环,则输出None如果是环,则输出入口节点想法:通过ac141,知道慢节点循环的次数就是环的长度无环的情况不用考虑,直接返回None即可有环分为下面两种可能这种情况就是链表正好构成一个环第二种情况就是链表中存在环,由上图可知快节点走过的路径是a...

2018-09-25 21:49:25 1397

原创 LeetCode 141 环形链表 python

题目描述给定一个链表,判断链表中是否有环。样例如果有环 返回True否则 返回False想法一: 遍历链表,将遍历过的节点加入list,如果出现重复节点,则返回True,否则遍历结束,返回False,但是结果超时。class Solution(object): def hasCycle(self, head): """ :type head:...

2018-09-25 20:10:54 629 4

原创 LeetCode 226 翻转二叉树

题目描述翻转一棵二叉树。样例输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1想法: 直接递归,每次递归都交换两个子节点,直到递归结束class Solution: def invertTree(self, ro...

2018-09-25 19:30:49 211

原创 LeetCode 2 两数相加 python

题目描述给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。样例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 实际是[2,4,3] [5,6,4]输出:7 -> 0 ->

2018-09-19 19:56:13 406 1

原创 LeetCode 1 两数之和 python

题目描述给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。样例因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]想法一: 两重循环,但是时间复杂度高想法二: 遍历nums,得到每个target-nums[i],然后在nums中找是否存在这个值,时间复杂度当然比一好,但不是最...

2018-09-19 16:58:11 188

原创 Scrapy爬虫——壁纸爬虫

说在前面:今天把之前写过的壁纸爬虫拿出来用了一下,发现是很久以前写过的,用的还是python基本库urllib去做网络请求的,正好最近在学scrapy,于是就用scrapy框架重新写了一遍。环境要求:python:3.6 Scrapy:1.51正式开始:感谢壁纸来源Wallhaven网页分析 通过分析可以得知,只需要给https://alpha.wa...

2018-08-08 16:10:30 1022

原创 Scrapy框架中的Spider.Resquest 和 Response.follow 的区别

最近学习scrapy框架,感受到了scrapy的强大,可能自己还没有学透,感觉有时候数据保存没有那么方便,等技术成熟也许会使用更加灵活,废话不多说,进入今天的主题。 首先,为什么要使用Resquest和Response.follow 按照我的理解,使用scrapy框架和之前脚本爬虫最大的区别是,scrapy框架中你只需要写出爬虫的几个部分任务,整体的爬虫引擎已经实现,并且scrapy实现的...

2018-08-02 20:51:59 5327

原创 Python爬虫+PyQt 打造教务系统查成绩程序

python爬虫和PyQt的结合

2018-07-31 20:22:07 1287

空空如也

空空如也

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

TA关注的人

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