自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python+Docker+Redis-实现分布式爬取阳光问政

sun-political分布式爬取阳光问政平台http://wz.sun0769.com一、编写爬虫代码1.创建项目pip install scrapy scrapy-redis -i https://pypi.tuna.tsinghua.edu.cn/simplescrapy startproject sun2.创建爬虫scrapy genspider -t crawl political wz.sun0769.com3.编写setting.pyROBOTSTXT_OBEY = Fal

2020-10-27 15:28:53 366

原创 LeetCode-1615. 最大网络秩

1615. 最大网络秩题目说明n 座城市和一些连接这些城市的道路 roads 共同组成一个基础设施网络。每个 roads[i] = [ai, bi] 都表示在城市 ai 和 bi 之间有一条双向道路。两座不同城市构成的 城市对 的 网络秩 定义为:与这两座城市 直接 相连的道路总数。如果存在一条道路直接连接这两座城市,则这条道路只计算 一次 。整个基础设施网络的 最大网络秩 是所有不同城市对中的 最大网络秩 。给你整数 n 和数组 roads,返回整个基础设施网络的 最大网络秩 。示例输入:

2020-10-12 23:30:54 311

原创 LeetCode-1614. 括号的最大嵌套深度

1614. 括号的最大嵌套深度题目说明如果字符串满足一下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS):字符串是一个空字符串 “”,或者是一个不为 “(” 或 “)” 的单字符。字符串可以写为 AB(A 与 B 字符串连接),其中 A 和 B 都是 有效括号字符串 。字符串可以写为 (A),其中 A 是一个 有效括号字符串 。类似地,可以定义任何有效括号字符串 S 的 嵌套深度 depth(S):depth("") = 0dep

2020-10-12 21:59:35 390

原创 LeetCode-141. 环形链表

141. 环形链表题目说明给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。示例输入:head = [3,2,0,-4], pos = 1输出:true解

2020-10-12 21:56:15 130

原创 LeetCode-344. 反转字符串

344. 反转字符串题目说明编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例输入:["h","e","l","l","o"]输出:["o","l","l","e","h"] 输入:["H","a","n","n","a","h"]输出:["h","a","n","n","a","

2020-10-12 21:47:29 93

原创 LeetCode-75. 颜色分类

75. 颜色分类题目说明给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]代码实现class Solution: def sortColors(self, nums: List[int]) -> None:

2020-10-12 21:45:03 106

原创 赛码-进制均值(京东2017秋招真题)

进制均值(京东2017秋招真题)进制均值(京东2017秋招真题)代码实现while 1: A = int(input()) X = 0 # 遍历计算各进制的和 for i in range(2, A): tmp = A while tmp != 0: X += tmp % i tmp = tmp // i Y = A - 2 # 化简分数 for i in range

2020-10-11 20:56:43 173

原创 LeetCode-剑指 Offer 58 - II. 左旋转字符串

剑指 Offer 58 - II. 左旋转字符串题目说明字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例输入: s = "abcdefg", k = 2输出: "cdefgab" 输入: s = "lrloseumgh", k = 6输出: "umghlrlose"代码实现class Solution: def reve

2020-10-06 17:06:39 118

原创 LeetCode-剑指 Offer 58 - I. 翻转单词顺序

剑指 Offer 58 - I. 翻转单词顺序题目说明输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。示例输入: "the sky is blue"输出: "blue is sky the" 输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不

2020-10-06 17:03:38 194

原创 LeetCode-剑指 Offer 57 - II. 和为s的连续正数序列

剑指 Offer 57 - II. 和为s的连续正数序列题目说明输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例输入:target = 9输出:[[2,3,4],[4,5]] 输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]题解思路滑动窗口如果窗口和小于目标,需要添加数,右窗口右移一位,如果大于目标,需要减少数,左窗口右移一位

2020-10-06 16:59:58 204

原创 LeetCode-剑指 Offer 57-和为s的两个数字

剑指 Offer 57. 和为s的两个数字题目说明输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2] 输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]题解思路双指针,如果和大于目标,后面的指针前移一位,如果小于目标,前面的指针后

2020-10-06 16:55:32 117

原创 LeetCode-剑指 Offer 55 - II-平衡二叉树

剑指 Offer 55 - II. 平衡二叉树题目说明输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。 给定二叉树 [1,2,2,3,3,null,null,4,4] 1 / \ 2 2 / \

2020-10-06 16:52:56 141

原创 LeetCode-剑指 Offer 55 - I-二叉树的深度

剑指 Offer 55 - I. 二叉树的深度题目说明输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。示例给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。题解思路1、广度优先搜索:按层遍历,每遍历一层,计数值+12、深度优先搜索:树的深度=左右子树深度的最大值 + 1代码实现1、广度优先搜索

2020-10-06 10:38:21 136

原创 LeetCode-剑指 Offer 54-二叉搜索树的第k大节点

剑指 Offer 54. 二叉搜索树的第k大节点题目说明给定一棵二叉搜索树,请找出其中第k大的节点。示例输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 4输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1输出: 4题解思路利用二叉平衡树的特点,利用后序遍历,将各个节点

2020-10-06 10:34:56 143

原创 LeetCode-剑指 Offer 53 - I-在排序数组中查找数字 I

剑指 Offer 53 - I. 在排序数组中查找数字 I题目说明统计一个数字在排序数组中出现的次数。示例输入: nums = [5,7,7,8,8,10], target = 8输出: 2输入: nums = [5,7,7,8,8,10], target = 6输出: 0题解思路  两种做法1、使用哈希表:  遍历数组,如果存在于表中,值加一;如果不存在,设置键值对,键为该元素,值为12、二分法  使用i和j指向头和尾,如果m=(i+j)//2 (向下取整)位置的元素大于

2020-10-06 10:31:44 189

原创 LeetCode-剑指 Offer 42-连续子数组的最大和

剑指 Offer 42. 连续子数组的最大和题目说明输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。题解思路动态规划如果当前元素与上一个元素之和大于当前元素,将当前元素替换为两数之和,循环结束后,数组中最大值便是解代码实现class Solution: def maxSu

2020-10-06 10:24:06 195

原创 LeetCode-剑指 Offer 52-两个链表的第一个公共节点

剑指 Offer 52. 两个链表的第一个公共节点题目说明输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。示例示例1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起

2020-10-06 10:20:19 287

原创 LeetCode-剑指 Offer 50-第一个只出现一次的字符

剑指 Offer 50. 第一个只出现一次的字符说明在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。示例s = "abaccdeff"返回 "b"s = "" 返回 " "题解思路使用哈希表遍历s,如果哈希表中存在,则值变为False,如果不存在,添加值为True再次遍历s,如果哈希表中对应值为true,返回该值代码实现class Solution: def firstUniqChar(self, s: str) ->

2020-10-05 15:49:04 132

原创 LeetCode-18-四数之和

18. 四数之和说明给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:[ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0

2020-10-05 15:38:35 1367

原创 LeetCode-15-三数之和

15.三数之和说明给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]题解思路排序+双指针如果满足条件,添加到输出数组代码实现class Solution: def t

2020-10-05 15:33:37 121

原创 LeetCode-剑指 Offer 32 - II-从上到下打印二叉树 II

剑指 Offer 32 - II. 从上到下打印二叉树 II说明从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。示例给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]题解思路在从上到下打印二叉树的前提下按层输出代码实现# Definition for a binary tree node

2020-10-05 14:57:00 247 1

原创 LeetCode-剑指 Offer 32 - III-从上到下打印二叉树 III

剑指 Offer 32 - III. 从上到下打印二叉树 III说明请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。示例给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [20,9], [15,7]]题解思路在从上到下打印二叉树 II的前提下,将奇

2020-10-05 10:52:05 218

原创 LeetCode-5531-特殊数组的特征值

5531. 特殊数组的特征值说明给你一个非负整数数组 nums 。如果存在一个数 x ,使得 nums 中恰好有 x 个元素 大于或者等于 x ,那么就称 nums 是一个 特殊数组 ,而 x 是该数组的 特征值 。注意: x 不必 是 nums 的中的元素。如果数组 nums 是一个 特殊数组 ,请返回它的特征值 x 。否则,返回 -1 。可以证明的是,如果 nums 是特殊数组,那么其特征值 x 是 唯一的 。示例输入:nums = [3,5]输出:2解释:有 2 个元素(3 和 5)大

2020-10-04 21:25:12 333 1

原创 LeetCode-剑指 Offer 32 - I-从上到下打印二叉树

剑指 Offer 32 - I. 从上到下打印二叉树说明从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。示例给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]题解思路广度优先搜索代码实现# Definition for a binary tree node.# class TreeNode:# def __init__(self

2020-10-04 21:22:54 186 2

原创 LeetCode-1-两数之和

1. 两数之和说明给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题解思路使用哈希表,对于x,如果存在target-x,返回代码实现class Solution: de

2020-10-04 21:20:48 80

原创 LeetCode-2-两数相加

2. 两数相加说明给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807题解思路模拟相加代码实现# Definit

2020-10-04 21:18:05 157

原创 LeetCode-剑指 Offer 30-包含min函数的栈

剑指 Offer 30. 包含min函数的栈说明定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top

2020-10-04 21:01:52 156

空空如也

空空如也

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

TA关注的人

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