<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[github_38818603的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/github_38818603</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; github_38818603]]></copyright><item><title><![CDATA[二叉树的构造]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82938517</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82938517</guid><author>github_38818603</author><pubDate>Thu, 04 Oct 2018 16:43:18 +0800</pubDate><description><![CDATA[
struct Node{
    char data;
    Node* right, *left;
};
class Bitree{
public:
    Bitree(){
        root = new Node();
        root-&amp;gt;left = nullptr;
        root-&amp;gt;right = nullptr;
    }
    void...]]></description><category></category></item><item><title><![CDATA[c++ 数组指针的使用]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82932745</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82932745</guid><author>github_38818603</author><pubDate>Wed, 03 Oct 2018 17:25:05 +0800</pubDate><description><![CDATA[定义一个字符串数组，按首字母从小到大进行排序。


void sort(char **p, int n){
    char *temp;
    for(int i = 0; i &amp;lt; n-1; i++){
        for(int j = 0; j &amp;lt; n - i -1; j++){
            cout&amp;lt;&amp;lt; *(p+j)&amp;lt;&amp;lt;&quot;,&quot;&amp;lt;&amp;...]]></description><category></category></item><item><title><![CDATA[最长子序列]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82924141</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82924141</guid><author>github_38818603</author><pubDate>Tue, 02 Oct 2018 09:02:34 +0800</pubDate><description><![CDATA[
// 最长子序列
int main(){
    string a;
    string b;
    cin&amp;gt;&amp;gt;a&amp;gt;&amp;gt;b;
    string::size_type alen = a.size();
    string::size_type blen = b.size();
    int f[alen+1][blen+1];
   
    for(int i ...]]></description><category></category></item><item><title><![CDATA[c++ 深拷贝 浅拷贝]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82856155</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82856155</guid><author>github_38818603</author><pubDate>Wed, 26 Sep 2018 17:12:30 +0800</pubDate><description><![CDATA[需要注意，在C++的类定义中，有赋值构造函数和拷贝构造函数。所以在执行A b=a操作时，会重新分配空间，属于深赋值。


 cout&amp;lt;&amp;lt;&quot;vector是对象，深赋值&quot;&amp;lt;&amp;lt;endl;
    vector&amp;lt;string&amp;gt; a={&quot;a&quot;,&quot;f&quot;,&quot;g&quot;};
    vector&amp;lt;string&amp;gt; b =a;
    b[2]]]></description><category></category></item><item><title><![CDATA[利用数组计算大数的阶乘/幂/加]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82833357</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82833357</guid><author>github_38818603</author><pubDate>Mon, 24 Sep 2018 23:15:04 +0800</pubDate><description><![CDATA[计算m! 注意这里的m可以&amp;gt;10，同样适用下面的规则。

temp 当前index所在值与乘数相乘的结果

digit  当前的最高位数

next  进位


#define MAX_SIZE 100000
int num[MAX_SIZE];
int main(){
    int m;
    cin&amp;gt;&amp;gt;m;
    //temp digit next
    num[0]...]]></description><category></category></item><item><title><![CDATA[关于回溯的题目]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82794708</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82794708</guid><author>github_38818603</author><pubDate>Thu, 20 Sep 2018 23:11:59 +0800</pubDate><description><![CDATA[不关心起始点的位置：

https://leetcode.com/problems/max-area-of-island/description/  找到矩阵中最大连通子区域的块数
	剑桥offer   找到矩阵中相同的路径
起始点是固定的：

剑桥offer  机器人的运动范围
	二叉树找到最长路径/最大距离   https://www.cnblogs.com/wangzaizhen/p/517...]]></description><category></category></item><item><title><![CDATA[leetcode  快慢指针的使用]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82793945</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82793945</guid><author>github_38818603</author><pubDate>Thu, 20 Sep 2018 22:38:09 +0800</pubDate><description><![CDATA[使用方式（head是头指针）

 if(head == nullptr) return head;
        Node* slow = head-&amp;gt;next;
        Node* fast = head-&amp;gt;next;
        while(fast &amp;amp;&amp;amp; fast-&amp;gt;next){
            slow = slow-&amp;gt;next...]]></description><category></category></item><item><title><![CDATA[leetcode Insertion Sort List]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82767022</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82767022</guid><author>github_38818603</author><pubDate>Wed, 19 Sep 2018 09:07:54 +0800</pubDate><description><![CDATA[问题： 对链表进行排序

思路1：链表是顺序存储的，通过简单插入排序法。

记录以下指针：当前指针；当前指针的下一个指针；链表的第一个指针（通过头结点实现）：沿着头结点找到插入的前一个位置和后一个位置。


 ListNode* insertionSortList(ListNode* head) {
        //链表的插入方式是 直接断开原来的链接
        ListNode* du...]]></description><category></category></item><item><title><![CDATA[leetcode :Sort Colors]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82766681</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82766681</guid><author>github_38818603</author><pubDate>Wed, 19 Sep 2018 08:24:21 +0800</pubDate><description><![CDATA[ https://leetcode.com/problems/sort-colors/description/

问题： 0,1,2组成的数组，在in-place的空间复杂度条件下进行排序

思路：利用划分的思想，以一个数字作为anchor，每划分一次，确定这个anchor的顺序。


void sortColors(vector&amp;lt;int&amp;gt;&amp;amp; nums) {
        /...]]></description><category></category></item><item><title><![CDATA[编程题 字符串A在字符串B中出现的次数]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82726324</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82726324</guid><author>github_38818603</author><pubDate>Sun, 16 Sep 2018 17:23:15 +0800</pubDate><description><![CDATA[腾讯笔试题之一，过了70%，超时。

输入：整数k, 字符串a,字符串b

输出：字符串a中k个字符在b出现的次数。


int main(){
    int k;
    string a;
    string b;
    set&amp;lt;string&amp;gt; tempset;
    while(cin &amp;gt;&amp;gt;k &amp;gt;&amp;gt; a &amp;gt;&amp;gt; b){
        i...]]></description><category></category></item><item><title><![CDATA[关于走格子的问题]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82718973</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82718973</guid><author>github_38818603</author><pubDate>Sun, 16 Sep 2018 12:18:05 +0800</pubDate><description><![CDATA[dfs: 所有可能的路径，是否存在某一条路径

bfs: 遍历图，最短路径

深度优先搜索利用了栈进行计算，而宽度优先搜索则利用了队列进行计算

1.简单版：从（0，0）走到(n,m)，只能往下或往右走，最短的路径。（这里最短路径的意思就是只会走m+n个空格）注意这里的矩阵大小是(m+1)*(n+1)

多少种走法：C(m+n,n)，或者用动态规划的方式求解。

记录路径：用dfs


typed...]]></description><category></category></item><item><title><![CDATA[四则运算]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82690590</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82690590</guid><author>github_38818603</author><pubDate>Thu, 13 Sep 2018 18:14:43 +0800</pubDate><description><![CDATA[1.构造后缀表达式

利用stack，存储操作符；自定义一个数据结构，存放val 和 op；
	入栈的操作符优先级要高于栈顶的操作符。如果当前op优先级低，则需要把栈顶的op先出栈，再入栈
	有可能输入的字符大于9， 则需要判断：从字符串中找出数字的计算方法 
	 
https://blog.youkuaiyun.com/liqiutuoyuan/article/details/72854471

2.利用后...]]></description><category></category></item><item><title><![CDATA[保持线程安全的几种方式]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82662512</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82662512</guid><author>github_38818603</author><pubDate>Wed, 12 Sep 2018 15:36:04 +0800</pubDate><description><![CDATA[参考链接：https://dzone.com/articles/7-techniques-for-thread-safe-classes

1.不要用static的变量

2.使用local变量

3.使用final，保持信息不可变

4.保持线程之间的通信

5.使用volitate

6.synchronize

 ...]]></description><category></category></item><item><title><![CDATA[c++ const的不同写法]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82662299</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82662299</guid><author>github_38818603</author><pubDate>Wed, 12 Sep 2018 15:30:36 +0800</pubDate><description><![CDATA[const int *p; // const修饰的是*p，因此*p是常量不能改变，但可以改变p的指向；
int const* p; // 同上，主要是看const与*的前后关系；
int* const p; // const修饰的是p，因此p的指向是常量不能改变，但*p可以改变；
const int const *p; // 两个const既修饰了*p也修饰了p，因此*p与p都是常量不能改变；

...]]></description><category></category></item><item><title><![CDATA[try catch finally]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82660515</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82660515</guid><author>github_38818603</author><pubDate>Wed, 12 Sep 2018 14:15:37 +0800</pubDate><description><![CDATA[参考链接：https://www.cnblogs.com/superFish2016/p/6687549.html

1、finally语句总会执行

2、如果try、catch中有return语句，finally中没有return，那么在finally中修改除包装类型和静态变量、全局变量以外的数据都不会对try、catch中返回的变量有任何的影响（包装类型、静态变量会改变、全局变量）

3、尽量...]]></description><category></category></item><item><title><![CDATA[c++ 友元函数]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82623934</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82623934</guid><author>github_38818603</author><pubDate>Tue, 11 Sep 2018 12:27:50 +0800</pubDate><description><![CDATA[友元关系是单向的，不可以继承的
写法

class A{

friend class B; // B可以使用A 的protected 和private

friend void fun();// 函数fun可以使用A的protected 和private

}

参考链接https://www.cnblogs.com/zhuyf87/archive/2013/02/25/2932682.html
...]]></description><category></category></item><item><title><![CDATA[c++ 内存分配及相关关键字]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82623149</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82623149</guid><author>github_38818603</author><pubDate>Tue, 11 Sep 2018 11:55:10 +0800</pubDate><description><![CDATA[allocator 动态分配内存，将内存分配和对象构造分开。
https://blog.youkuaiyun.com/u012333003/article/details/22104939

new、delete 和 new[]/delete[]的区别
参考链接https://blog.youkuaiyun.com/zyazky/article/details/52627200


int *pia = new int[...]]></description><category></category></item><item><title><![CDATA[c++ 容器 vector list deque priority_queue]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82596529</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82596529</guid><author>github_38818603</author><pubDate>Mon, 10 Sep 2018 21:43:52 +0800</pubDate><description><![CDATA[参考链接：https://www.cnblogs.com/roucheng/p/cpprongqi.html

随机存取就是直接存取，可以通过下标直接访问的那种数据结构，与存储位置无关，例如数组。非随机存取就是顺序存取了，不能通过下标访问了，只能按照存储顺序存取，与存储位置有关，例如链表。

总结

vector 是一段连续的内存块，而deque 是多个连续的内存块， list 是所有数据元素分开...]]></description><category></category></item><item><title><![CDATA[mysql 索引相关知识]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82561321</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82561321</guid><author>github_38818603</author><pubDate>Sun, 09 Sep 2018 19:26:22 +0800</pubDate><description><![CDATA[参考链接 ：https://www.cnblogs.com/heyonggang/p/6610526.html]]></description><category></category></item><item><title><![CDATA[c/c++ 结构体和联合体的区别]]></title><link>https://blog.youkuaiyun.com/github_38818603/article/details/82526574</link><guid>https://blog.youkuaiyun.com/github_38818603/article/details/82526574</guid><author>github_38818603</author><pubDate>Sat, 08 Sep 2018 09:48:33 +0800</pubDate><description><![CDATA[原文链接：https://www.cnblogs.com/nktblog/p/4027107.html]]></description><category></category></item></channel></rss>