<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LQZme的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LQZme</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LQZme]]></copyright><item><title><![CDATA[Python+Docker+Redis-实现分布式爬取阳光问政]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108519469</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108519469</guid><author>LQZme</author><pubDate>Tue, 27 Oct 2020 15:28:53 +0800</pubDate><description><![CDATA[sun-political
分布式爬取阳光问政平台http://wz.sun0769.com
一、编写爬虫代码
1.创建项目
pip install scrapy scrapy-redis -i https://pypi.tuna.tsinghua.edu.cn/simple
scrapy startproject sun
2.创建爬虫
scrapy genspider -t crawl political wz.sun0769.com
3.编写setting.py
ROBOTSTXT_OBEY = Fal]]></description><category></category></item><item><title><![CDATA[LeetCode-1615. 最大网络秩]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/109039401</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/109039401</guid><author>LQZme</author><pubDate>Mon, 12 Oct 2020 23:30:54 +0800</pubDate><description><![CDATA[1615. 最大网络秩
题目说明
n 座城市和一些连接这些城市的道路 roads 共同组成一个基础设施网络。每个 roads[i] = [ai, bi] 都表示在城市 ai 和 bi 之间有一条双向道路。
两座不同城市构成的 城市对 的 网络秩 定义为：与这两座城市 直接 相连的道路总数。如果存在一条道路直接连接这两座城市，则这条道路只计算 一次 。
整个基础设施网络的 最大网络秩 是所有不同城市对中的 最大网络秩 。
给你整数 n 和数组 roads，返回整个基础设施网络的 最大网络秩 。
示例

输入：]]></description><category></category></item><item><title><![CDATA[LeetCode-1614. 括号的最大嵌套深度]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/109038016</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/109038016</guid><author>LQZme</author><pubDate>Mon, 12 Oct 2020 21:59:35 +0800</pubDate><description><![CDATA[1614. 括号的最大嵌套深度
题目说明
如果字符串满足一下条件之一，则可以称之为 有效括号字符串（valid parentheses string，可以简写为 VPS）：
字符串是一个空字符串 “”，或者是一个不为 “(” 或 “)” 的单字符。
字符串可以写为 AB（A 与 B 字符串连接），其中 A 和 B 都是 有效括号字符串 。
字符串可以写为 (A)，其中 A 是一个 有效括号字符串 。
类似地，可以定义任何有效括号字符串 S 的 嵌套深度 depth(S)：
depth("") = 0
dep]]></description><category></category></item><item><title><![CDATA[LeetCode-141. 环形链表]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/109037874</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/109037874</guid><author>LQZme</author><pubDate>Mon, 12 Oct 2020 21:56:15 +0800</pubDate><description><![CDATA[141. 环形链表
题目说明
给定一个链表，判断链表中是否有环。
如果链表中有某个节点，可以通过连续跟踪 next 指针再次到达，则链表中存在环。 为了表示给定链表中的环，我们使用整数 pos 来表示链表尾连接到链表中的位置（索引从 0 开始）。 如果 pos 是 -1，则在该链表中没有环。注意：pos 不作为参数进行传递，仅仅是为了标识链表的实际情况。
如果链表中存在环，则返回 true 。 否则，返回 false 。
示例

输入：head = [3,2,0,-4], pos = 1
输出：true
解]]></description><category></category></item><item><title><![CDATA[LeetCode-344. 反转字符串]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/109037747</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/109037747</guid><author>LQZme</author><pubDate>Mon, 12 Oct 2020 21:47:29 +0800</pubDate><description><![CDATA[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","]]></description><category></category></item><item><title><![CDATA[LeetCode-75. 颜色分类]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/109037684</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/109037684</guid><author>LQZme</author><pubDate>Mon, 12 Oct 2020 21:45:03 +0800</pubDate><description><![CDATA[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]) -&gt; None:
  ]]></description><category></category></item><item><title><![CDATA[赛码-进制均值（京东2017秋招真题）]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/109016905</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/109016905</guid><author>LQZme</author><pubDate>Sun, 11 Oct 2020 20:56:43 +0800</pubDate><description><![CDATA[进制均值（京东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]]></description><category></category></item><item><title><![CDATA[LeetCode-剑指 Offer 58 - II. 左旋转字符串]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108941131</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108941131</guid><author>LQZme</author><pubDate>Tue, 06 Oct 2020 17:06:39 +0800</pubDate><description><![CDATA[剑指 Offer 58 - II. 左旋转字符串
题目说明
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如，输入字符串"abcdefg"和数字2，该函数将返回左旋转两位得到的结果"cdefgab"。
示例
输入: s = "abcdefg", k = 2
输出: "cdefgab"
 

输入: s = "lrloseumgh", k = 6
输出: "umghlrlose"

代码实现
class Solution:
    def reve]]></description><category></category></item><item><title><![CDATA[LeetCode-剑指 Offer 58 - I. 翻转单词顺序]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108941082</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108941082</guid><author>LQZme</author><pubDate>Tue, 06 Oct 2020 17:03:38 +0800</pubDate><description><![CDATA[剑指 Offer 58 - I. 翻转单词顺序
题目说明
输入一个英文句子，翻转句子中单词的顺序，但单词内字符的顺序不变。为简单起见，标点符号和普通字母一样处理。例如输入字符串"I am a student. “，则输出"student. a am I”。
示例
输入: "the sky is blue"
输出: "blue is sky the"
 

输入: "  hello world!  "
输出: "world! hello"
解释: 输入字符串可以在前面或者后面包含多余的空格，但是反转后的字符不]]></description><category></category></item><item><title><![CDATA[LeetCode-剑指 Offer 57 - II. 和为s的连续正数序列]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108941020</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108941020</guid><author>LQZme</author><pubDate>Tue, 06 Oct 2020 16:59:58 +0800</pubDate><description><![CDATA[剑指 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]]

题解思路
滑动窗口
如果窗口和小于目标，需要添加数，右窗口右移一位，如果大于目标，需要减少数，左窗口右移一位]]></description><category></category></item><item><title><![CDATA[LeetCode-剑指 Offer 57-和为s的两个数字]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108940995</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108940995</guid><author>LQZme</author><pubDate>Tue, 06 Oct 2020 16:55:32 +0800</pubDate><description><![CDATA[剑指 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]

题解思路
双指针，如果和大于目标，后面的指针前移一位，如果小于目标，前面的指针后]]></description><category></category></item><item><title><![CDATA[LeetCode-剑指 Offer 55 - II-平衡二叉树]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108940962</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108940962</guid><author>LQZme</author><pubDate>Tue, 06 Oct 2020 16:52:56 +0800</pubDate><description><![CDATA[剑指 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
    / \
 ]]></description><category></category></item><item><title><![CDATA[LeetCode-剑指 Offer 55 - I-二叉树的深度]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108936965</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108936965</guid><author>LQZme</author><pubDate>Tue, 06 Oct 2020 10:38:21 +0800</pubDate><description><![CDATA[剑指 Offer 55 - I. 二叉树的深度
题目说明
输入一棵二叉树的根节点，求该树的深度。从根节点到叶节点依次经过的节点（含根、叶节点）形成树的一条路径，最长路径的长度为树的深度。
示例
给定二叉树 [3,9,20,null,null,15,7]，

    3
   / \
  9  20
    /  \
   15   7
返回它的最大深度 3 。

题解思路
1、广度优先搜索：按层遍历，每遍历一层，计数值+1
2、深度优先搜索：树的深度=左右子树深度的最大值 + 1
代码实现
1、广度优先搜索]]></description><category></category></item><item><title><![CDATA[LeetCode-剑指 Offer 54-二叉搜索树的第k大节点]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108936936</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108936936</guid><author>LQZme</author><pubDate>Tue, 06 Oct 2020 10:34:56 +0800</pubDate><description><![CDATA[剑指 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

题解思路
利用二叉平衡树的特点，利用后序遍历，将各个节点]]></description><category></category></item><item><title><![CDATA[LeetCode-剑指 Offer 53 - I-在排序数组中查找数字 I]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108936851</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108936851</guid><author>LQZme</author><pubDate>Tue, 06 Oct 2020 10:31:44 +0800</pubDate><description><![CDATA[剑指 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、使用哈希表：
  遍历数组，如果存在于表中，值加一；如果不存在，设置键值对，键为该元素，值为1
2、二分法
  使用i和j指向头和尾，如果m=（i+j）//2 (向下取整)位置的元素大于]]></description><category></category></item><item><title><![CDATA[LeetCode-剑指 Offer 42-连续子数组的最大和]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108936818</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108936818</guid><author>LQZme</author><pubDate>Tue, 06 Oct 2020 10:24:06 +0800</pubDate><description><![CDATA[剑指 Offer 42. 连续子数组的最大和
题目说明
输入一个整型数组，数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。
要求时间复杂度为O(n)。
示例
输入: nums = [-2,1,-3,4,-1,2,1,-5,4]
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大，为 6。

题解思路
动态规划
如果当前元素与上一个元素之和大于当前元素，将当前元素替换为两数之和，循环结束后，数组中最大值便是解
代码实现
class Solution:
    def maxSu]]></description><category></category></item><item><title><![CDATA[LeetCode-剑指 Offer 52-两个链表的第一个公共节点]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108936661</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108936661</guid><author>LQZme</author><pubDate>Tue, 06 Oct 2020 10:20:19 +0800</pubDate><description><![CDATA[剑指 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）。从各自的表头开始算起]]></description><category></category></item><item><title><![CDATA[LeetCode-剑指 Offer 50-第一个只出现一次的字符]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108929378</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108929378</guid><author>LQZme</author><pubDate>Mon, 05 Oct 2020 15:49:04 +0800</pubDate><description><![CDATA[剑指 Offer 50. 第一个只出现一次的字符
说明
在字符串 s 中找出第一个只出现一次的字符。如果没有，返回一个单空格。 s 只包含小写字母。
示例
s = "abaccdeff"
返回 "b"

s = "" 
返回 " "

题解思路
使用哈希表
遍历s，如果哈希表中存在，则值变为False，如果不存在，添加值为True
再次遍历s，如果哈希表中对应值为true，返回该值
代码实现
class Solution:
    def firstUniqChar(self, s: str) -&gt; ]]></description><category></category></item><item><title><![CDATA[LeetCode-18-四数之和]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108929219</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108929219</guid><author>LQZme</author><pubDate>Mon, 05 Oct 2020 15:38:35 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[LeetCode-15-三数之和]]></title><link>https://blog.youkuaiyun.com/LQZme/article/details/108929006</link><guid>https://blog.youkuaiyun.com/LQZme/article/details/108929006</guid><author>LQZme</author><pubDate>Mon, 05 Oct 2020 15:33:37 +0800</pubDate><description><![CDATA[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]]></description><category></category></item></channel></rss>