<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[心之所向，敝履以往]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/pyuxing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pyuxing]]></copyright><item><title><![CDATA[精简代码之帮if-else瘦身]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/103112842</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/103112842</guid><author>pyuxing</author><pubDate>Sun, 17 Nov 2019 20:34:50 +0800</pubDate><description><![CDATA[相信大家在平时的开发过程中一定没法避免写if-else分支结构的情况，有些时候确实无法避免，但有一些特定的场合我们可以合理的运用一些技巧来对给代买瘦身，本文列举了四种可行的方式，当然还有很多其他的场合或者方式，欢迎大家再评论区补充：

1- 卫语句（提前return）
卫语句(Guard clause)指的是在遇到异常情况时，提前进行抛出，这在一定程度上可以避免if-else分支结构的使用，可以在...]]></description><category></category></item><item><title><![CDATA[参考答案+实验设计与分析（第6版） [Design and analysis of experiments] - 蒙哥马利（Montgomery D.C）]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/102812303</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/102812303</guid><author>pyuxing</author><pubDate>Wed, 30 Oct 2019 09:27:01 +0800</pubDate><description><![CDATA[1- 电子资源介绍
《实验设计与分析》作为实验设计与分析领域的名著，是作者在亚利桑那州立大学、华盛顿大学和佐治亚理工学院三所大学近40年实验设计教学经验的基础上编写的。

Douglas c．Montgomery 是著名统计学家，亚利桑那州立大学工业与管理系统工程教授，美国统计学会、工业工程学会、质量控制学会会士。他出版了多部影响深远的统计学著作，发表了大量广为引用的论文。他还应IBM、可口可乐、...]]></description><category></category></item><item><title><![CDATA[从零开始了解“柔性数组”]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/102812165</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/102812165</guid><author>pyuxing</author><pubDate>Wed, 30 Oct 2019 09:18:32 +0800</pubDate><description><![CDATA[首先我们来看一道面试题
如果你还不能很快就得出答案，那可以通过本次的介绍彻底的了解一下**“柔性数组”**
参考答案会在文末给出哦！

开发C代码时,经常见到如下类型的结构体定义:
typedef struct list_t{
struct list_t *next;
struct list_t *prev;
char data[0];
}list_t;

最后一行char data[0];的作用...]]></description><category></category></item><item><title><![CDATA[【剑指offer】25-复杂链表的复制]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/102729881</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/102729881</guid><author>pyuxing</author><pubDate>Thu, 24 Oct 2019 19:18:57 +0800</pubDate><description><![CDATA[1-Description
输入一个复杂链表（每个节点中有节点值，以及两个指针，一个指向下一个节点，另一个特殊指针指向任意一个节点），返回结果为复制后复杂链表的head。（注意，输出结果中请不要返回参数中的节点引用，否则判题程序会直接返回空）
struct RandomListNode {
    int label;
    struct RandomListNode *next, *rando...]]></description><category></category></item><item><title><![CDATA[C/C++容易忽视的“ - -> ”运算符]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/102677188</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/102677188</guid><author>pyuxing</author><pubDate>Tue, 22 Oct 2019 10:12:23 +0800</pubDate><description><![CDATA[​在开始分享这个看似“运算符”之前，先来看一段普通的不能再普通的代码:
#include &lt;stdio.h&gt;
int main()
{
     int x = 10;
     while( x --&gt; 0 ) // x goes to 0
     {
       printf("%d ", x);
     }
    return 0;
}

这段代码的运行结果是怎样的...]]></description><category></category></item><item><title><![CDATA[【剑指offer】24-二叉树中和为某一值的路径]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/102579861</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/102579861</guid><author>pyuxing</author><pubDate>Wed, 16 Oct 2019 09:55:15 +0800</pubDate><description><![CDATA[1- Description

输入一颗二叉树的根节点和一个整数，打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中，数组长度大的数组靠前)
struct TreeNode {
	int val;
	struct TreeNode *left;
	struct TreeNode *right;
	Tree...]]></description><category></category></item><item><title><![CDATA[【剑指offer】23-二叉搜索树的后续遍历]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/102579369</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/102579369</guid><author>pyuxing</author><pubDate>Wed, 16 Oct 2019 09:33:13 +0800</pubDate><description><![CDATA[本文系《剑指offer》的刷题记录，通过牛客网在线平台测试通过。
在线测试平台：牛客网
编程资料获取：CodeLab

1- Description
输入一个整数数组，判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
2-Solution
我们先来了解一下什么是二叉搜索树：

二叉查找树（BinarySearchTree），...]]></description><category></category></item><item><title><![CDATA[【剑指offer】22- 从上到下打印二叉树]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/93314759</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/93314759</guid><author>pyuxing</author><pubDate>Sat, 22 Jun 2019 12:22:42 +0800</pubDate><description><![CDATA[本文系《剑指offer》的刷题记录，通过牛客网在线平台测试通过。
在线测试平台：牛客网
编程资料获取：CodeLab

1-Desciption

从上往下打印出二叉树的每个节点，同层节点从左至右打印。
二叉树结点定义如下：
//Definition for binary tree
 struct TreeNode {
     int val;
     struct TreeNode   *...]]></description><category></category></item><item><title><![CDATA[【剑指offer】21-栈的压入与弹出序列]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/93165662</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/93165662</guid><author>pyuxing</author><pubDate>Fri, 21 Jun 2019 10:14:34 +0800</pubDate><description><![CDATA[本文系《剑指offer》的刷题记录，通过牛客网在线平台测试通过。
在线测试平台：牛客网
编程资料获取：CodeLab

1-Description

输入两个整数序列，第一个序列表示栈的压入顺序，请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序，序列4,5,3,2,1是该压栈序列对应的一个弹出序列，但4,3,5,1,2就不可能是该...]]></description><category></category></item><item><title><![CDATA[【剑指offer】20- 包含min函数的栈]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/90677020</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/90677020</guid><author>pyuxing</author><pubDate>Wed, 29 May 2019 19:31:41 +0800</pubDate><description><![CDATA[本文系《剑指offer》的刷题记录，通过牛客网在线平台测试通过。
在线测试平台：牛客网
编程资料获取：CodeLab

1- Description

定义栈的数据结构，请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。

2-Solution
注意这里强调了得到最小元素要求时间复杂度是O(1)，所以可以考虑将最小的元素存储起来备用，这里采取的方式是创建一个辅助...]]></description><category></category></item><item><title><![CDATA[【剑指offer】19-顺时针打印矩阵]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/90169590</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/90169590</guid><author>pyuxing</author><pubDate>Mon, 13 May 2019 11:15:53 +0800</pubDate><description><![CDATA[1-Description

输入一个矩阵，按照从外向里以顺时针的顺序依次打印出每一个数字，
[12345678910111213141516]
 \left[
 \begin{matrix}
   1 &amp;amp; 2 &amp;amp; 3 &amp;amp; 4 \\
   5 &amp;amp; 6 &amp;amp; 7 &amp;amp;8 \\
   9 &amp;amp; 1...]]></description><category></category></item><item><title><![CDATA[【剑指offer】18-二叉树的镜像]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/90144545</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/90144545</guid><author>pyuxing</author><pubDate>Sun, 12 May 2019 20:11:53 +0800</pubDate><description><![CDATA[本文系《剑指offer》的刷题记录，通过牛客网在线平台测试通过。
在线测试平台：牛客网
编程资料获取：CodeLab

1-Description

操作给定的二叉树，将其变换为源二叉树的镜像
二叉树结点定义如下：
//Definition for binary tree
 struct TreeNode {
     int val;
     TreeNode *left;
     Tre...]]></description><category></category></item><item><title><![CDATA[【剑指offer】17-树的子结构]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/90116758</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/90116758</guid><author>pyuxing</author><pubDate>Sat, 11 May 2019 23:28:10 +0800</pubDate><description><![CDATA[本文系《剑指offer》的刷题记录，通过牛客网在线平台测试通过。
在线测试平台：牛客网
编程资料获取：CodeLab

1-Description

输入两棵二叉树A，B，判断B是不是A的子结构。（ps：我们约定空树不是任意一个树的子结构）,二叉树结点定义如下：
//Definition for binary tree
 struct TreeNode {
     int val;
     ...]]></description><category></category></item><item><title><![CDATA[【剑指offer】16-合并两个排序的链表]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/90085293</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/90085293</guid><author>pyuxing</author><pubDate>Fri, 10 May 2019 22:57:03 +0800</pubDate><description><![CDATA[本文系《剑指offer》的刷题记录，通过牛客网在线平台测试通过。
在线测试平台：牛客网
编程资料获取：CodeLab

1-Description

输入两个单调递增的链表，输出两个链表合成后的链表，当然我们需要合成后的链表满足单调不减规则，下面是链表的定义：
struct ListNode {
	int val;
	struct ListNode *next;
	ListNode(int x)...]]></description><category></category></item><item><title><![CDATA[【剑指offer】15-反转链表+图解]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/90048694</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/90048694</guid><author>pyuxing</author><pubDate>Thu, 09 May 2019 21:46:25 +0800</pubDate><description><![CDATA[本文系《剑指offer》的刷题记录，通过牛客网在线平台测试通过。
在线测试平台：牛客网
编程资料获取：CodeLab

1-Description

输入一个链表，反转链表后，输出新链表的表头，下面是链表的定义：

struct ListNode {
	int val;
	struct ListNode *next;
	ListNode(int x) :
			val(x), next(NULL...]]></description><category></category></item><item><title><![CDATA[【剑指offer】14-链表中倒数第k个结点]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/89947221</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/89947221</guid><author>pyuxing</author><pubDate>Wed, 08 May 2019 10:46:38 +0800</pubDate><description><![CDATA[1-Description

输入一个链表，输出该链表中倒数第k个结点链表定义如下：
struct ListNode {
      int val;
       struct ListNode *next;
     ListNode(int x) :
           val(x), next(NULL) {
      }
};```


2-Solution

第一种方法很容易想到，...]]></description><category></category></item><item><title><![CDATA[【剑指offer】13-调整数组顺序使奇数位于偶数前面]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/89932242</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/89932242</guid><author>pyuxing</author><pubDate>Tue, 07 May 2019 23:57:50 +0800</pubDate><description><![CDATA[1-Description

输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有的奇数位于数组的前半部分，所有的偶数位于数组的后半部分，并保证奇数和奇数，偶数和偶数之间的相对位置不变

2-Solution
首先可以考虑新开辟一个数组，并进行两次遍历原数组，这样可以方便的把奇数排在前面，偶数排在后面，具体代码如下：
class Solution {
public:
    void ...]]></description><category></category></item><item><title><![CDATA[【剑指offer】12-数值的整数次方]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/89879846</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/89879846</guid><author>pyuxing</author><pubDate>Mon, 06 May 2019 12:16:04 +0800</pubDate><description><![CDATA[本文系《剑指offer》的刷题记录，通过牛客网在线平台测试通过。
在线测试平台：牛客网
编程资料获取：CodeLab

1-Description

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方

2-Solution
这里注意的是需要考虑指数小于0以及底数为0的情况，所以在写代码的时候要尽量保证代码的全面性，下面是解决代码
cla...]]></description><category></category></item><item><title><![CDATA[【剑指offer】11-二进制中1的个数]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/89879813</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/89879813</guid><author>pyuxing</author><pubDate>Mon, 06 May 2019 12:13:37 +0800</pubDate><description><![CDATA[本文系《剑指offer》的刷题记录，通过牛客网在线平台测试通过。
在线测试平台：牛客网
编程资料获取：CodeLab

1-Description

输入一个整数，输出该数二进制表示中1的个数。其中负数用补码表示

2-Solution
1-右移整数
注意这里强调了负数的存在，如果我们单纯的将整数n逐位进行右移将进入死循环，例如将负数0x80000000右移1位的时候，并不是简单地把最高位1移到...]]></description><category></category></item><item><title><![CDATA[【剑指offer】10-矩形覆盖]]></title><link>https://blog.youkuaiyun.com/pyuxing/article/details/89879773</link><guid>https://blog.youkuaiyun.com/pyuxing/article/details/89879773</guid><author>pyuxing</author><pubDate>Mon, 06 May 2019 12:09:12 +0800</pubDate><description><![CDATA[本文系《剑指offer》的刷题记录，通过牛客网在线平台测试通过。
在线测试平台：牛客网
编程资料获取：CodeLab

1-Description

我们可以用2×1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2×1的小矩形无重叠地覆盖一个2×n的大矩形，总共有多少种方法？

2-Solution
1-问题分析
这仍旧是一个斐波那契数列的问题，下面具体分析：

假设第一次我们用2×1的小矩形...]]></description><category></category></item></channel></rss>