<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiaocongplus的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiaocongplus</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaocongplus]]></copyright><item><title><![CDATA[剑指offer_13]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/99695216</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/99695216</guid><author>xiaocongplus</author><pubDate>Sat, 17 Aug 2019 16:58:51 +0800</pubDate><description><![CDATA[剑指offer_13（最后6题）来源：牛客网
1. 序列化二叉树
题目:
请实现两个函数，分别用来序列化和反序列化二叉树
二叉树的序列化是指：把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串，从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改，序列化的结果是一个字符串，序列化时通过 某种符号表示空节点（#），以 ！ 表示一个结点值的结...]]></description><category></category></item><item><title><![CDATA[剑指offer_12]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/99676964</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/99676964</guid><author>xiaocongplus</author><pubDate>Fri, 16 Aug 2019 14:12:07 +0800</pubDate><description><![CDATA[剑指offer_12（每日5题）来源：牛客网
1. 删除链表中重复的结点
题目:
在一个排序的链表中，存在重复的结点，请删除该链表中重复的结点，重复的结点不保留，返回链表头指针。 例如，链表1-&gt;2-&gt;3-&gt;3-&gt;4-&gt;4-&gt;5 处理后为 1-&gt;2-&gt;5
分析：
非递归的代码：
首先添加一个头节点，以方便碰到第一个，第二个节点就相同的情况，然后设置 ...]]></description><category></category></item><item><title><![CDATA[剑指offer_11]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/99634812</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/99634812</guid><author>xiaocongplus</author><pubDate>Thu, 15 Aug 2019 14:28:45 +0800</pubDate><description><![CDATA[剑指offer_11（每日5题）来源：牛客网
1. 构建乘积数组
题目:
给定一个数组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]。不能使用除法。
分析：
B[i]的值可以看作下图的矩阵中每行的乘积。
下三角用连乘可以很容求得，上三角，从下向上也是连乘。
因此我们的思路就很清晰了，先算下三角中...]]></description><category></category></item><item><title><![CDATA[剑指offer_10]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/99555411</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/99555411</guid><author>xiaocongplus</author><pubDate>Wed, 14 Aug 2019 12:37:37 +0800</pubDate><description><![CDATA[剑指offer_9（每日5题）来源：牛客网
1. 孩子们的游戏(圆圈中最后剩下的数)
题目:
每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并...]]></description><category></category></item><item><title><![CDATA[剑指offer_9]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/99433157</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/99433157</guid><author>xiaocongplus</author><pubDate>Tue, 13 Aug 2019 14:31:32 +0800</pubDate><description><![CDATA[剑指offer_9（每日5题）来源：牛客网
1. 和为S的连续正数序列
题目:
小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列...]]></description><category></category></item><item><title><![CDATA[剑指offer_8]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/99301048</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/99301048</guid><author>xiaocongplus</author><pubDate>Mon, 12 Aug 2019 14:32:12 +0800</pubDate><description><![CDATA[剑指offer_8（每日5题）来源：牛客网
1. 两个链表的第一个公共结点
题目:
输入两个链表，找出它们的第一个公共结点。
分析：
找出2个链表的长度，然后让长的先走两个链表的长度差，然后再一起走（因为2个链表用公共的尾部）
参考代码：
/*
public class ListNode {
    int val;
    ListNode next = null;
 
    ListNode...]]></description><category></category></item><item><title><![CDATA[剑指offer_7]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/99192261</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/99192261</guid><author>xiaocongplus</author><pubDate>Sun, 11 Aug 2019 14:55:03 +0800</pubDate><description><![CDATA[剑指offer_7（每日5题）来源：牛客网
1. 整数中1出现的次数（从1到n整数中1出现的次数）
题目:
求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数？为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数（从1 到 n ...]]></description><category></category></item><item><title><![CDATA[剑指offer_6]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/99074464</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/99074464</guid><author>xiaocongplus</author><pubDate>Sat, 10 Aug 2019 14:49:41 +0800</pubDate><description><![CDATA[剑指offer_6（每日5题）
1. 连续子数组的最大和
题目:
HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢？例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个...]]></description><category></category></item><item><title><![CDATA[剑指offer_5]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/98945249</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/98945249</guid><author>xiaocongplus</author><pubDate>Fri, 09 Aug 2019 11:08:22 +0800</pubDate><description><![CDATA[剑指offer_5（每日5题）
1. 栈的压入、弹出序列
题目:
输入两个整数序列，第一个序列表示栈的压入顺序，请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序，序列4,5,3,2,1是该压栈序列对应的一个弹出序列，但4,3,5,1,2就不可能是该压栈序列的弹出序列。（注意：这两个序列的长度是相等的）
分析：
借用一个辅助的栈，遍历...]]></description><category></category></item><item><title><![CDATA[剑指offer_4]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/98940893</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/98940893</guid><author>xiaocongplus</author><pubDate>Fri, 09 Aug 2019 09:52:49 +0800</pubDate><description><![CDATA[剑指offer_4（每日5题）
1. 合并两个排序的链表
题目:
输入两个单调递增的链表，输出两个链表合成后的链表，当然我们需要合成后的链表满足单调不减规则。
参考代码：
/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;...]]></description><category></category></item><item><title><![CDATA[剑指offer_3]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/98940773</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/98940773</guid><author>xiaocongplus</author><pubDate>Fri, 09 Aug 2019 09:51:27 +0800</pubDate><description><![CDATA[剑指offer_3（每日5题）
1. 二进制中1的个数
题目:
输入一个整数，输出该数二进制表示中1的个数。其中负数用补码表示。
分析：
如果一个整数不为0，那么这个整数至少有一位是1。如果我们把这个整数减1，那么原来处在整数最右边的1就会变为0，原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。
举个例子：一个二进制数1100，从右边数起第三位是处于最右...]]></description><category></category></item><item><title><![CDATA[剑指offer_2]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/98940688</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/98940688</guid><author>xiaocongplus</author><pubDate>Fri, 09 Aug 2019 09:50:29 +0800</pubDate><description><![CDATA[剑指offer_2（每日5题）
1. 旋转数组的最小数字
题目:
把一个数组最开始的若干个元素搬到数组的末尾，我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转，输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转，该数组的最小值为1。 NOTE：给出的所有元素都大于0，若数组大小为0，请返回0。
分析：
采用二分法解答这个问题，
mid = low +...]]></description><category></category></item><item><title><![CDATA[剑指offer_1]]></title><link>https://blog.youkuaiyun.com/xiaocongplus/article/details/98939739</link><guid>https://blog.youkuaiyun.com/xiaocongplus/article/details/98939739</guid><author>xiaocongplus</author><pubDate>Fri, 09 Aug 2019 09:43:47 +0800</pubDate><description><![CDATA[剑指offer_1（每日5题）
1. 二维数组中的查找
题目:
在一个二维数组中（每个一维数组的长度相同），每一行都按照从左到右递增的顺序排序，每一列都按照从上到下递增的顺序排序。请完成一个函数，输入这样的一个二维数组和一个整数，判断数组中是否含有该整数。
分析：
从左下角元素往上查找，右边元素是比这个元素大，上边是的元素比这个元素小。于是，target比这个元素小就往上找，比这个元素大就往右找。...]]></description><category></category></item></channel></rss>