自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

看小说者的福利神器

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

原创 LeetCode 148 排序链表 python

题目描述 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 样例 输入: 4->2->1->3 输出: 1->2->3->4 输入: -1->5->3-&am...

2019-02-18 22:22:28 270 0

原创 LeetCode 146 LRU缓存机制 python

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

2019-02-16 21:30:47 369 0

原创 LeetCode 78 子集 python

题目描述 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 样例 输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], ...

2019-01-25 00:13:10 356 0

原创 HTTP协议(总结)

HTTP协议 HTTP(超文本传输协议,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议. 这个协议最初设计是为了提供一种发布和接受HTML页面的方法.是用于WWW服务器传输超文本到本地浏览器的传输协议. HTTP协议定义在网络七层中的应用层,通过传输层...

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

原创 Go语言——基础

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

2018-12-10 10:05:14 191 0

原创 django单元测试

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

2018-11-13 16:48:19 345 0

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

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

2018-11-05 13:27:12 117 0

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

题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 样例...

2018-11-02 20:23:41 82 0

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

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

2018-11-02 18:00:18 219 0

原创 Redis基础知识

Redis Key(键) 语法 COMMAND KEY_NAME 基本就是命令加键名 Redis Key 常用命令 命令 描述 KEYS pattern 根据模式匹配键 KEYS会阻塞线程 DEL key 删除键 DUMP ...

2018-11-02 16:57:21 79 0

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

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

2018-10-30 11:26:05 196 0

原创 Mysql 经典知识点

注意:这是个人笔记,如果有不正确的地方可以在评论指出,大神勿喷 锁 锁策略 表锁(table lock) 对整张表加读写锁,读锁可以之间不会相互阻塞,但是当有写锁时,任何用户都不可以获取读锁 并且写锁比读锁的优先级高,一个写的命令可能被插入读命令之前. 行级锁(row lock) 行...

2018-10-26 21:42:32 289 0

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

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

2018-10-26 19:02:23 332 0

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

题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 样例 输入 1,2,3,4,5,6,7,0 输出 7 想法...

2018-10-26 15:10:07 1780 0

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

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

2018-10-24 21:39:32 82 0

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

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

2018-10-24 17:45:40 155 0

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

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

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

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

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

2018-10-21 21:07:28 97 0

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

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

2018-10-17 19:58:52 320 0

原创 剑指offer 丑数 python

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

2018-10-16 16:45:38 119 0

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

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

2018-10-15 21:37:10 391 0

原创 剑指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] 想法: 思路很简单...

2018-10-14 21:14:26 117 0

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

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

2018-10-11 17:33:20 55 0

原创 剑指offer 平衡二叉树 python

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

2018-10-11 15:44:04 187 0

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

题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等 样例 例如序列1,2,3,4,5是某栈的压入顺序 序列4,5,3,2,1是该压栈序列对应的一个弹出序列 但4,3,5,1,2就不可能是该压栈序列的弹出序列。 ...

2018-10-11 11:32:05 95 0

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

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

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

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

题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 样例 [1,2,3,4,5] true [1,2,3,6,4,5] false 想法一: 使用递归方法,每次取出最后一个元...

2018-10-09 11:01:07 72 0

原创 剑指offer 树的子结构 python

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

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

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

题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 样例 输入 +2147483647 1a33 ...

2018-09-28 20:24:05 411 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 323 0

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

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

2018-09-26 16:50:37 485 0

原创 LeetCode 142 环形链表 II python

题目描述 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 说明:不允许修改给定的链表。 样例 如果不是环,则输出None 如果是环,则输出入口节点 想法: 通过ac141,知道慢节点循环的次数就是环的长度 无环的情况不用考虑,直接返回None...

2018-09-25 21:49:25 935 0

原创 LeetCode 141 环形链表 python

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

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

原创 LeetCode 226 翻转二叉树

题目描述 翻转一棵二叉树。 样例 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 想...

2018-09-25 19:30:49 72 0

原创 LeetCode 2 两数相加 python

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

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

原创 LeetCode 1 两数之和 python

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

2018-09-19 16:58:11 73 0

原创 Scrapy爬虫——壁纸爬虫

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

2018-08-08 16:10:30 516 0

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

最近学习scrapy框架,感受到了scrapy的强大,可能自己还没有学透,感觉有时候数据保存没有那么方便,等技术成熟也许会使用更加灵活,废话不多说,进入今天的主题。 首先,为什么要使用Resquest和Response.follow 按照我的理解,使用scrapy框架和之前脚本爬虫最大的区...

2018-08-02 20:51:59 2939 0

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

python爬虫和PyQt的结合

2018-07-31 20:22:07 744 0

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