<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Finish_Hou]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_37548441</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_37548441]]></copyright><item><title><![CDATA[剑指offer68-II. 二叉树的最近公共祖先]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028435</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028435</guid><author>qq_37548441</author><pubDate>Wed, 01 Sep 2021 00:01:57 +0800</pubDate><description><![CDATA[剑指 Offer 68 - II. 二叉树的最近公共祖先
难度：简单
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。
百度百科中最近公共祖先的定义为：“对于有根树 T 的两个结点 p、q，最近公共祖先表示为一个结点 x，满足 x 是 p、q 的祖先且 x 的深度尽可能大（一个节点也可以是它自己的祖先）。”
例如，给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]

示例 1:
输入: root = [3,5,1,6,2,0,8,null,null,7,4],]]></description><category></category></item><item><title><![CDATA[剑指offer68-I. 二叉搜索树的最近公共祖先]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028425</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028425</guid><author>qq_37548441</author><pubDate>Wed, 01 Sep 2021 00:01:51 +0800</pubDate><description><![CDATA[剑指 Offer 68 - I. 二叉搜索树的最近公共祖先
难度：简单
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。
百度百科中最近公共祖先的定义为：“对于有根树 T 的两个结点 p、q，最近公共祖先表示为一个结点 x，满足 x 是 p、q 的祖先且 x 的深度尽可能大（一个节点也可以是它自己的祖先）。”
例如，给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]

示例 1:
输入: root = [6,2,8,0,4,7,9,null,null,]]></description><category></category></item><item><title><![CDATA[剑指offer67. 把字符串转换成整数]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028412</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028412</guid><author>qq_37548441</author><pubDate>Wed, 01 Sep 2021 00:01:46 +0800</pubDate><description><![CDATA[剑指 Offer 67. 把字符串转换成整数
难度：中等
写一个函数 StrToInt，实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。
首先，该函数会根据需要丢弃无用的开头空格字符，直到寻找到第一个非空格的字符为止。
当我们寻找到的第一个非空字符为正或者负号时，则将该符号与之后面尽可能多的连续数字组合起来，作为该整数的正负号；假如第一个非空字符是数字，则直接将其与之后连续的数字字符组合起来，形成整数。
该字符串除了有效的整数部分之后也可能会存在多余的字符，这些字符可以被忽略，它们]]></description><category></category></item><item><title><![CDATA[剑指offer66. 构建乘积数组]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028403</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028403</guid><author>qq_37548441</author><pubDate>Wed, 01 Sep 2021 00:01:40 +0800</pubDate><description><![CDATA[剑指 Offer 66. 构建乘积数组
难度：中等
给定一个数组 A[0,1,…,n-1]，请构建一个数组 B[0,1,…,n-1]，其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。
示例:
输入: [1,2,3,4,5]
输出: [120,60,40,30,24]

提示：

所有元素乘积之和不会溢出 32 位整数
a.length &lt;= 100000

解答：
class Solut]]></description><category></category></item><item><title><![CDATA[剑指offer65. 不用加减乘除做加法]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028384</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028384</guid><author>qq_37548441</author><pubDate>Wed, 01 Sep 2021 00:01:34 +0800</pubDate><description><![CDATA[剑指 Offer 65. 不用加减乘除做加法
难度：简单
写一个函数，求两个整数之和，要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。
示例:
输入: a = 1, b = 1
输出: 2

提示：

a, b 均可能是负数或 0
结果不会溢出 32 位整数

解答：
class Solution {
    //通过^异或运算，相同为0，不同为1得到所有位的和
    //通过&amp;与运算得到所有位的进位并左移一位
    //如此往复，最终当没有进位时，得到a + b
    ]]></description><category></category></item><item><title><![CDATA[剑指offer64. 求1+2+…+n]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028369</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028369</guid><author>qq_37548441</author><pubDate>Tue, 31 Aug 2021 22:23:52 +0800</pubDate><description><![CDATA[剑指 Offer 64. 求1+2+…+n
难度：中等
求 1+2+...+n ，要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句（A?B:C）。
示例 1：
输入: n = 3
输出: 6

示例 2：
输入: n = 9
输出: 45

限制：

1 &lt;= n &lt;= 10000

解答：
class Solution {
    //递归
    //时间复杂度O(N),空间复杂度O(N)
    public int sumNums(in]]></description><category></category></item><item><title><![CDATA[剑指offer63. 股票的最大利润]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028362</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028362</guid><author>qq_37548441</author><pubDate>Tue, 31 Aug 2021 22:23:21 +0800</pubDate><description><![CDATA[剑指 Offer 63. 股票的最大利润
难度：中等
假设把某股票的价格按照时间先后顺序存储在数组中，请问买卖该股票一次可能获得的最大利润是多少？
示例 1:
输入: [7,1,5,3,6,4]
输出: 5
解释: 在第 2 天（股票价格 = 1）的时候买入，在第 5 天（股票价格 = 6）的时候卖出，最大利润 = 6-1 = 5 。
     注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。

示例 2:
输入: [7,6,4,3,1]
输出: 0
解释: 在这种情况下, 没有交易完成, ]]></description><category></category></item><item><title><![CDATA[剑指offer62. 圆圈中最后剩下的数字]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028351</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028351</guid><author>qq_37548441</author><pubDate>Tue, 31 Aug 2021 22:22:51 +0800</pubDate><description><![CDATA[剑指 Offer 62. 圆圈中最后剩下的数字
难度：简单
0,1,···,n-1这n个数字排成一个圆圈，从数字0开始，每次从这个圆圈里删除第m个数字（删除后从下一个数字开始计数）。求出这个圆圈里剩下的最后一个数字。
例如，0、1、2、3、4这5个数字组成一个圆圈，从数字0开始每次删除第3个数字，则删除的前4个数字依次是2、0、4、1，因此最后剩下的数字是3。
示例 1：
输入: n = 5, m = 3
输出: 3

示例 2：
输入: n = 10, m = 17
输出: 2

限制：

1 &lt;=]]></description><category></category></item><item><title><![CDATA[剑指offer61. 扑克牌中的顺子]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028346</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028346</guid><author>qq_37548441</author><pubDate>Tue, 31 Aug 2021 22:22:20 +0800</pubDate><description><![CDATA[剑指 Offer 61. 扑克牌中的顺子
难度：简单
从扑克牌中随机抽5张牌，判断是不是一个顺子，即这5张牌是不是连续的。2～10为数字本身，A为1，J为11，Q为12，K为13，而大、小王为 0 ，可以看成任意数字。A 不能视为 14。
示例 1:
输入: [1,2,3,4,5]
输出: True

示例 2:
输入: [0,0,1,2,5]
输出: True

限制：
数组长度为 5
数组的数取值为 [0, 13] .
解答：
class Solution {
    public boolean is]]></description><category></category></item><item><title><![CDATA[剑指offer60. n个骰子的点数]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028335</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028335</guid><author>qq_37548441</author><pubDate>Tue, 31 Aug 2021 22:21:49 +0800</pubDate><description><![CDATA[剑指 Offer 60. n个骰子的点数
难度：中等
把n个骰子扔在地上，所有骰子朝上一面的点数之和为s。输入n，打印出s的所有可能的值出现的概率。
你需要用一个浮点数数组返回答案，其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。
示例 1:
输入: 1
输出: [0.16667,0.16667,0.16667,0.16667,0.16667,0.16667]

示例 2:
输入: 2
输出: [0.02778,0.05556,0.08333,0.11111,0.13889,]]></description><category></category></item><item><title><![CDATA[剑指offer59-I. 滑动窗口的最大值]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028330</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028330</guid><author>qq_37548441</author><pubDate>Tue, 31 Aug 2021 22:21:19 +0800</pubDate><description><![CDATA[剑指 Offer 59 - I. 滑动窗口的最大值
难度：简单
给定一个数组 nums 和滑动窗口的大小 k，请找出所有滑动窗口里的最大值。
示例:
输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3
输出: [3,3,5,5,6,7] 
解释: 

  滑动窗口的位置                最大值
---------------               -----
[1  3  -1] -3  5  3  6  7       3
 1 [3  -1  -3] 5 ]]></description><category></category></item><item><title><![CDATA[剑指offer59. 队列的最大值]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028321</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028321</guid><author>qq_37548441</author><pubDate>Tue, 31 Aug 2021 22:20:48 +0800</pubDate><description><![CDATA[剑指 Offer 59 - II. 队列的最大值
难度：中等
请定义一个队列并实现函数 max_value 得到队列里的最大值，要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。
若队列为空，pop_front 和 max_value 需要返回 -1
示例 1：
输入: 
["MaxQueue","push_back","push_back","max_value","pop_front","max_value"]
[[],[1],[2],[],[],[]]]></description><category></category></item><item><title><![CDATA[剑指offer58-II. 左旋转字符串]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028306</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028306</guid><author>qq_37548441</author><pubDate>Tue, 31 Aug 2021 22:20:18 +0800</pubDate><description><![CDATA[剑指 Offer 58 - II. 左旋转字符串
难度：简单
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如，输入字符串"abcdefg"和数字2，该函数将返回左旋转两位得到的结果"cdefgab"。
示例 1：
输入: s = "abcdefg", k = 2
输出: "cdefgab"

示例 2：
输入: s = "lrloseumgh", k = 6
输出: "umghlrlose"

限制：

1 &lt;= k &lt; s.len]]></description><category></category></item><item><title><![CDATA[剑指offer58-I. 翻转单词顺序]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/120028294</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/120028294</guid><author>qq_37548441</author><pubDate>Tue, 31 Aug 2021 22:19:53 +0800</pubDate><description><![CDATA[剑指 Offer 58 - I. 翻转单词顺序
难度：简单
输入一个英文句子，翻转句子中单词的顺序，但单词内字符的顺序不变。为简单起见，标点符号和普通字母一样处理。例如输入字符串"I am a student. “，则输出"student. a am I”。
示例 1：
输入: "the sky is blue"
输出: "blue is sky the"

示例 2：
输入: "  hello world!  "
输出: "world! hello"
解释: 输入字符串可以在前面或者后面包含多余的空格，但]]></description><category></category></item><item><title><![CDATA[剑指offer57-II. 和为s的连续正数序列]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/119990742</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/119990742</guid><author>qq_37548441</author><pubDate>Tue, 31 Aug 2021 22:19:16 +0800</pubDate><description><![CDATA[剑指 Offer 57 - II. 和为s的连续正数序列
难度：简单
输入一个正整数 target ，输出所有和为 target 的连续正整数序列（至少含有两个数）。
序列内的数字由小到大排列，不同序列按照首个数字从小到大排列。
示例 1：
输入：target = 9
输出：[[2,3,4],[4,5]]

示例 2：
输入：target = 15
输出：[[1,2,3,4,5],[4,5,6],[7,8]]

限制：

1 &lt;= target &lt;= 10^5

解答：
class Soluti]]></description><category></category></item><item><title><![CDATA[剑指offer57. 和为s的两个数字]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/119990736</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/119990736</guid><author>qq_37548441</author><pubDate>Mon, 30 Aug 2021 09:59:53 +0800</pubDate><description><![CDATA[剑指 Offer 57. 和为s的两个数字
难度：简单
输入一个递增排序的数组和一个数字s，在数组中查找两个数，使得它们的和正好是s。如果有多对数字的和等于s，则输出任意一对即可。
示例 1：
输入：nums = [2,7,11,15], target = 9
输出：[2,7] 或者 [7,2]

示例 2：
输入：nums = [10,26,30,31,47,60], target = 40
输出：[10,30] 或者 [30,10]

限制：

1 &lt;= nums.length &lt;= 10^]]></description><category></category></item><item><title><![CDATA[剑指offer56-II. 数组中数字出现的次数II]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/119990697</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/119990697</guid><author>qq_37548441</author><pubDate>Mon, 30 Aug 2021 09:59:30 +0800</pubDate><description><![CDATA[剑指 Offer 56 - II. 数组中数字出现的次数 II
难度：中等
在一个数组 nums 中除一个数字只出现一次之外，其他数字都出现了三次。请找出那个只出现一次的数字。
示例 1：
输入：nums = [3,4,3,3]
输出：4

示例 2：
输入：nums = [9,1,7,9,7,9,7]
输出：1

限制：

1 &lt;= nums.length &lt;= 10000
1 &lt;= nums[i] &lt; 2^31

解答：
class Solution {
    //遍历统计
 ]]></description><category></category></item><item><title><![CDATA[剑指offer56-I. 数组中数字出现的次数]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/119990684</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/119990684</guid><author>qq_37548441</author><pubDate>Mon, 30 Aug 2021 09:57:43 +0800</pubDate><description><![CDATA[剑指 Offer 56 - I. 数组中数字出现的次数
难度：中等
一个整型数组 nums 里除两个数字之外，其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n)，空间复杂度是O(1)。
示例 1：
输入：nums = [4,1,4,6]
输出：[1,6] 或 [6,1]

示例 2：
输入：nums = [1,2,10,4,1,4,3,3]
输出：[2,10] 或 [10,2]

限制：

2 &lt;= nums.length &lt;= 10000

解答：
class ]]></description><category></category></item><item><title><![CDATA[剑指offer55-II. 平衡二叉树]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/119990611</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/119990611</guid><author>qq_37548441</author><pubDate>Mon, 30 Aug 2021 09:57:20 +0800</pubDate><description><![CDATA[剑指 Offer 55 - II. 平衡二叉树
难度：简单
输入一棵二叉树的根节点，判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1，那么它就是一棵平衡二叉树。
示例 1:
给定二叉树 [3,9,20,null,null,15,7]
    3
   / \
  9  20
    /  \
   15   7

返回 true 。
示例 2:
给定二叉树 [1,2,2,3,3,null,null,4,4]
       1
      / \
     2   2
    / ]]></description><category></category></item><item><title><![CDATA[剑指offer55-I. 二叉树的深度]]></title><link>https://blog.youkuaiyun.com/qq_37548441/article/details/119990592</link><guid>https://blog.youkuaiyun.com/qq_37548441/article/details/119990592</guid><author>qq_37548441</author><pubDate>Mon, 30 Aug 2021 09:53:54 +0800</pubDate><description><![CDATA[剑指 Offer 55 - I. 二叉树的深度
难度：简单
输入一棵二叉树的根节点，求该树的深度。从根节点到叶节点依次经过的节点（含根、叶节点）形成树的一条路径，最长路径的长度为树的深度。
例如：
给定二叉树 [3,9,20,null,null,15,7]，
    3
   / \
  9  20
    /  \
   15   7

返回它的最大深度 3 。
提示：

节点总数 &lt;= 10000

注意：本题与主站 104 题相同：https://leetcode-cn.com/problems]]></description><category></category></item></channel></rss>