<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[司曹龙的博客]]></title><description><![CDATA[多学习 多进步]]></description><link>https://blog.youkuaiyun.com/langxue4516</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; langxue4516]]></copyright><item><title><![CDATA[面经百度]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/83316448</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/83316448</guid><author>langxue4516</author><pubDate>Tue, 23 Oct 2018 22:11:33 +0800</pubDate><description><![CDATA[
	new、malloc的区别

	
		属性：运算符、函数；
		
		
		参数：分配大小
		
		
		返回类型：new返回对象的类型 malloc返回void(*)；
		
		
		分配失败：new 抛出bac_alloc异常 malloc返回NULL；
		
		
		自定义类型：

		
			new先调用operator new 函数申请足够的内存（底层使用的malloc） 然后...]]></description><category></category></item><item><title><![CDATA[面试点 终极]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82847359</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82847359</guid><author>langxue4516</author><pubDate>Wed, 26 Sep 2018 00:10:50 +0800</pubDate><description><![CDATA[知识点：924

一、c++基础


	extern的作用

	
		与‘C’一起作用时候，则告诉编译器fun这个函数名按着c的规则去翻译相应的函数名
		
		
		另一种作用就是声明函数和全局变量的作用的范围关键字，其声明的函数和变量可以在本模块或者其他模块使用，记住它是一个声明而不是定义；
		
	
	
	static的作用

	
		在c中的作用

		
			修饰局部变量，成为静态变量存...]]></description><category></category></item><item><title><![CDATA[网络编程：多线程编程模型]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82824181</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82824181</guid><author>langxue4516</author><pubDate>Sun, 23 Sep 2018 19:20:14 +0800</pubDate><description><![CDATA[
/*************************************************************************
    &amp;gt; File Name: src/echo_tcp_server_th.c
    &amp;gt; Author: sicaolong
    &amp;gt; Mail: sicaolong@163.com 
    &amp;gt; Created T...]]></description><category></category></item><item><title><![CDATA[面试点2]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82752051</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82752051</guid><author>langxue4516</author><pubDate>Tue, 18 Sep 2018 09:30:24 +0800</pubDate><description><![CDATA[面试点2


	TCP、UDP的区别和优缺点

	
		TCP面向连接的、udp是无连接的，也就是发送数据之前不需要建立连接
		
		
		TCP提供可靠的服务，通过TCP连接传送的数据，无差错、不丢失、不重复，并且按序到达；UDP只是尽最大努力交付，不保证可靠交付；TCp通过检验和、重传标志，序号标志，滑动窗口、确认应答实现可靠传输；如丢包的重发控制，还可以对次序乱掉的分包进行顺序控制；
		...]]></description><category></category></item><item><title><![CDATA[面试知识点]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82635109</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82635109</guid><author>langxue4516</author><pubDate>Wed, 12 Sep 2018 00:39:47 +0800</pubDate><description><![CDATA[面试知识点：


	字符串

	
		strstr（str1，str2）的作用，用来判断str2是不是str1的子串
		
		
		char* strchr(const char,char ch);说明：返回首次出现ch的位置的指针，返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针，如果Str中不存在Val则返回NULL。
		
		
		void *memcpy(void *de...]]></description><category></category></item><item><title><![CDATA[（三）剑指offer63 机器人的运动范围]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82317496</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82317496</guid><author>langxue4516</author><pubDate>Sun, 02 Sep 2018 17:58:45 +0800</pubDate><description><![CDATA[题目描述

地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动，每一次只能向左，右，上，下四个方向移动一格，但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如，当k为18时，机器人能够进入方格（35,37），因为3+5+3+7 = 18。但是，它不能进入方格（35,38），因为3+5+3+8 = 19。请问该机器人能够达到多少个格子？

dfs求注意里面的count每次要更新一...]]></description><category></category></item><item><title><![CDATA[（三）、剑指offer62 矩阵中的路径（递归回溯）]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82316470</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82316470</guid><author>langxue4516</author><pubDate>Sun, 02 Sep 2018 16:24:56 +0800</pubDate><description><![CDATA[题目描述

请设计一个函数，用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始，每一步可以在矩阵中向左，向右，向上，向下移动一个格子。如果一条路径经过了矩阵中的某一个格子，则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串&quot;bcced&quot;的路径，但是矩阵中不包含&quot;abcb&quot;路径，因为字...]]></description><category></category></item><item><title><![CDATA[(三)剑指offer61 滑动窗口中的最大值  （队列中的最大值）]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82315515</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82315515</guid><author>langxue4516</author><pubDate>Sun, 02 Sep 2018 15:12:26 +0800</pubDate><description><![CDATA[题目描述

给定一个数组和滑动窗口的大小，找出所有滑动窗口里数值的最大值。例如，如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3，那么一共存在6个滑动窗口，他们的最大值分别为{4,4,6,6,6,5}； 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个： {[2,3,4],2,6,2,5,1}， {2,[3,4,2],6,2,5,1}， {2,3,[4,2,6],2,...]]></description><category></category></item><item><title><![CDATA[(三)剑指offer 60数据流中的中位数]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82313822</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82313822</guid><author>langxue4516</author><pubDate>Sun, 02 Sep 2018 11:12:25 +0800</pubDate><description><![CDATA[思路：用堆；两个堆 一个最大堆 一个最小堆；vector&amp;lt;double&amp;gt;min,max;

如果为奇数的时候 将往最大堆中插入；

如果为偶数的时候就往最小堆中插入；

最后的数据的总数为奇数 返回min[0];偶数返回（max[0]+min[0]）/2;

代码如下：


class Solution {
private:
    vector&amp;lt;double&amp;gt;max,mi...]]></description><category></category></item><item><title><![CDATA[(三)剑指offer 57 二叉树的之子打印（栈）  58 按行打印（队列）]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82292395</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82292395</guid><author>langxue4516</author><pubDate>Sun, 02 Sep 2018 01:22:23 +0800</pubDate><description><![CDATA[1、之字形打印（两个栈）；


/*
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};
*/
class Solution ...]]></description><category></category></item><item><title><![CDATA[(三)剑指offer56  二叉树的下一个结点]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82292216</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82292216</guid><author>langxue4516</author><pubDate>Sun, 02 Sep 2018 00:18:17 +0800</pubDate><description><![CDATA[题目描述

给定一个二叉树和其中的一个结点，请找出中序遍历顺序的下一个结点并且返回。注意，树中的结点不仅包含左右子结点，同时包含指向父结点的指针。

思路：中序遍历  下一个结点有两种情况

当前结点有右子树的话，就找出右子树中的最左的结点；
	如果没有右子树的话  就往它的父节点找，找到第一个结点是它的父节点的左子节点的结点；
代码：


/*
struct TreeLinkNode {
   ...]]></description><category></category></item><item><title><![CDATA[(三)剑指offer55 删除链表中的重复的结点；]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82291943</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82291943</guid><author>langxue4516</author><pubDate>Sat, 01 Sep 2018 23:36:57 +0800</pubDate><description><![CDATA[题目描述

在一个排序的链表中，存在重复的结点，请删除该链表中重复的结点，重复的结点不保留，返回链表头指针。 例如，链表1-&amp;gt;2-&amp;gt;3-&amp;gt;3-&amp;gt;4-&amp;gt;4-&amp;gt;5 处理后为 1-&amp;gt;2-&amp;gt;5

思路：

当两个结点相同的时候 找到第一个不重复的结点

当不相同的时候,转移到第二个节点上； cur-&amp;gt;next=deleteNode(cur-&amp;gt;ne...]]></description><category></category></item><item><title><![CDATA[(三)剑指offer54  链表环的入口]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82291305</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82291305</guid><author>langxue4516</author><pubDate>Sat, 01 Sep 2018 22:10:29 +0800</pubDate><description><![CDATA[给一个链表，若其中包含环，请找出该链表的环的入口结点，否则，输出null。

思路：

判断是否存在环，快慢两个指针相遇的节点就是pMeet；
	p1=pMeet，p2=Phead； 两个再同时走 直到相遇 就是入口点；
方案二：用map  当 dict的值==2的时候就是入口点；


/*
struct ListNode {
    int val;
    struct ListNode *n...]]></description><category></category></item><item><title><![CDATA[(三、）剑指offer53 字符流中第一个不重复的字符]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82290846</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82290846</guid><author>langxue4516</author><pubDate>Sat, 01 Sep 2018 21:18:22 +0800</pubDate><description><![CDATA[题目描述

请实现一个函数用来找出字符流中第一个只出现一次的字符。例如，当从字符流中只读出前两个字符&quot;go&quot;时，第一个只出现一次的字符是&quot;g&quot;。当从该字符流中读出前六个字符“google&quot;时，第一个只出现一次的字符是&quot;l&quot;。

输出描述:


如果当前字符流没有存在出现一次的字符，返回#字符。

 


class Solution
{
    private:
    char dict[256...]]></description><category></category></item><item><title><![CDATA[（三）剑指offer52 表示数值的字符串]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82290618</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82290618</guid><author>langxue4516</author><pubDate>Sat, 01 Sep 2018 20:56:08 +0800</pubDate><description><![CDATA[ 

题目描述

请实现一个函数用来判断字符串是否表示数值（包括整数和小数）。例如，字符串&quot;+100&quot;,&quot;5e2&quot;,&quot;-123&quot;,&quot;3.1416&quot;和&quot;-1E-16&quot;都表示数值。 但是&quot;12e&quot;,&quot;1a3.14&quot;,&quot;1.2.3&quot;,&quot;+-5&quot;和&quot;12e+4.3&quot;都不是。

思路：

首先看看第一位是不是+/-号 用]]></description><category></category></item><item><title><![CDATA[（三）剑指offer51  正则表达式（两种情况）]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82288377</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82288377</guid><author>langxue4516</author><pubDate>Sat, 01 Sep 2018 16:30:47 +0800</pubDate><description><![CDATA[题目描述 ：

请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符，而'*'表示它前面的字符可以出现任意次（包含0次）。 在本题中，匹配是指字符串的所有字符匹配整个模式。例如，字符串&quot;aaa&quot;与模式&quot;a.a&quot;和&quot;ab*ac*a&quot;匹配，但是与&quot;aa.a&quot;和&quot;ab*a&quot;均不匹配

思路：两种情况

当前字符的下一个字符是不是 *
	三种情况 匹配0个 1个两个；
...]]></description><category></category></item><item><title><![CDATA[(三)剑指offer 50构建数组乘积]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82288318</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82288318</guid><author>langxue4516</author><pubDate>Sat, 01 Sep 2018 16:27:17 +0800</pubDate><description><![CDATA[题目描述

给定一个数组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]。不能使用除法。

思路：

分为上三角和下三角；


class Solution {
public:
    vector&amp;lt;int&amp;gt; multiply(const vector&amp;lt;i...]]></description><category></category></item><item><title><![CDATA[（三）剑指offer 46 47  求1+2+3+...+n 和 两个数之和；]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82287930</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82287930</guid><author>langxue4516</author><pubDate>Sat, 01 Sep 2018 16:24:23 +0800</pubDate><description><![CDATA[46： 1+2+3+。。。。。n

思路：用函数递归 ；


class Solution {
public:
    int Sum_Solution(int n) 
    {
        int sum=n;
        return (n==0?sum:sum+Sum_Solution(n-1));
    }
};

47、求两个数的和；（不能用四则运算）

把sum 看成是^的...]]></description><category></category></item><item><title><![CDATA[(三)剑指offer45  约瑟夫环的问题]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82287790</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82287790</guid><author>langxue4516</author><pubDate>Sat, 01 Sep 2018 15:55:01 +0800</pubDate><description><![CDATA[题目描述

每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去.....]]></description><category></category></item><item><title><![CDATA[(三)剑指offer 44扑克牌顺子]]></title><link>https://blog.youkuaiyun.com/langxue4516/article/details/82263475</link><guid>https://blog.youkuaiyun.com/langxue4516/article/details/82263475</guid><author>langxue4516</author><pubDate>Fri, 31 Aug 2018 23:54:07 +0800</pubDate><description><![CDATA[思路：

找出其中的王的个数（可以匹配任何数字）
	求出间隔数 =nums[right]-nums[left]-1;如果差一的话代表正好 不需要补充 ；4 5之间不需要王来填补；4 6 之间需要王来匹配5
代码：


class Solution {
public:
    bool IsContinuous( vector&amp;lt;int&amp;gt; nums ) 
    {
        int...]]></description><category></category></item></channel></rss>