<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qi_700的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qi_700</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qi_700]]></copyright><item><title><![CDATA[TCP Keepalive]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/104427861</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/104427861</guid><author>qi_700</author><pubDate>Fri, 21 Feb 2020 14:52:14 +0800</pubDate><description><![CDATA[TCP Keepalive的起源

 TCP协议中有长连接和短连接之分。短连接环境下，数据交互完毕后，主动释放连接；长连接的环境下，进行一次数据交互后，很长一段时间内无数据交互时，客户端可能意外断电、死机、崩溃、重启，还是中间路由网络无故断开，这些TCP连接并未来得及正常释放，那么，连接的另一方并不知道对端的情况，它会一直维护这个连接，长时间的积累会导致非常多的半打开连接，造成端系统资源的消耗和...]]></description><category></category></item><item><title><![CDATA[git合并解决]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/104308951</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/104308951</guid><author>qi_700</author><pubDate>Fri, 14 Feb 2020 11:52:16 +0800</pubDate><description><![CDATA[远程分支被修改了，本地分支落后修改，合并

 方法一：


  在你自己的分支上，如果有本地修改先gitstash
  gitpull
  gitmergeorigin/master (如果本地分支是master 则这两个效果一样，本地分支不是master，拉下来的是远程和本地分支同名的分支代码)
  如果有本地修改，恢复本地修改gitstashpop
    g...]]></description><category></category></item><item><title><![CDATA[c++static关键字的作用]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/103464417</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/103464417</guid><author>qi_700</author><pubDate>Mon, 09 Dec 2019 20:16:02 +0800</pubDate><description><![CDATA[c++static关键字的作用


c/c++共有

1）：修饰全局变量时，表明一个全局变量只对定义在同一文件中的函数可见。

2）：修饰局部变量时，表明该变量的值不会因为函数终止而丢失。

3）：修饰函数时，表明该函数只在同一文件中调用。

c++独有...]]></description><category></category></item><item><title><![CDATA[LeetCode算法打卡--模拟]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/103035034</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/103035034</guid><author>qi_700</author><pubDate>Tue, 12 Nov 2019 18:08:03 +0800</pubDate><description><![CDATA[118. 杨辉三角

给定一个非负整数numRows，生成杨辉三角的前numRows行。

链接：https://leetcode-cn.com/problems/pascals-triangle/


/*基本思想：按照杨辉三角的构造规则直接写就好
*/
class Solution {
public:
    vector&lt;vector&lt;int&gt;&gt; generat...]]></description><category></category></item><item><title><![CDATA[详解STL中的map和hash_map区别]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/103017155</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/103017155</guid><author>qi_700</author><pubDate>Mon, 11 Nov 2019 20:29:13 +0800</pubDate><description><![CDATA[在网上看到有关STL中hash_map的文章，以及一些其他关于STL map和hash_map的资料，总结笔记如下：
  1、STL的map底层是用红黑树实现的，查找时间复杂度是log(n)；
  2、STL的hash_map底层是用hash表存储的，查询时间复杂度是O(1)；
  3、什么时候用map，什么时候用hash_map？
  这个药看具体的应用，不一定常数级别的hash...]]></description><category></category></item><item><title><![CDATA[TCP流量控制和拥塞控制]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/102958200</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/102958200</guid><author>qi_700</author><pubDate>Thu, 07 Nov 2019 16:59:56 +0800</pubDate><description><![CDATA[先来了解2个TCP的概念：

MSS：Maximum Segment Size，TCP一次传输发送的最大数据段长度。

RTT：Round-Trip Time，往返时延，表示从发送端发送数据开始，到发送端收到来自接收端的确认（接收端收到数据后便立即发送确认），总共经历的时延。

TCP传输大块数据时，肯定需要进行数据分段，而每个分段所能携带的最大数据就是1个MSS，假设大块数据为100个MSS，那...]]></description><category></category></item><item><title><![CDATA[c++虚函数表详解]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/102948224</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/102948224</guid><author>qi_700</author><pubDate>Thu, 07 Nov 2019 11:27:16 +0800</pubDate><description><![CDATA[一、单继承和多继承

 

我们了解一下何为单继承，何为多继承？？

   单继承：一个子类只有一个直接父类。

   多继承：一个子类有两个或多个直接父类。

二、类的虚函数表与类实例的虚函数指针
 

 首先不考虑继承的情况。如果一个类中有虚函数，那么该类就有一个虚函数表。这个虚函数表是属于类的，所有该类的实例化对象中都会有一个虚函数表指针去指向该类的虚函数表。一个类...]]></description><category></category></item><item><title><![CDATA[c++堆排序原理和实现]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/102807386</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/102807386</guid><author>qi_700</author><pubDate>Tue, 29 Oct 2019 20:01:01 +0800</pubDate><description><![CDATA[堆排序，C++实现

  堆是一种特殊的树形数据结构，即完全二叉树。堆分为大根堆和小根堆，大根堆为根节点的值大于两个子节点的值；小根堆为根节点的值小于两个子节点的值，同时根节点的两个子树也分别是一个堆。

基本思路

步骤一：建立大根堆--将n个元素组成的无序序列构建一个大根堆，
	步骤二：交换堆元素--交换堆尾元素和堆首元素，使堆尾元素为最大元素；
	步骤三：重建大根堆--将前n-1个元...]]></description><category></category></item><item><title><![CDATA[LeetCode算法打卡--分治]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/102744612</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/102744612</guid><author>qi_700</author><pubDate>Mon, 28 Oct 2019 17:26:56 +0800</pubDate><description><![CDATA[69. x 的平方根

实现int sqrt(int x)函数。

计算并返回x的平方根，其中x 是非负整数。

由于返回类型是整数，结果只保留整数的部分，小数部分将被舍去。


链接：https://leetcode-cn.com/problems/sqrtx



/*基本思想：二分法，就是x除以一个数等于这个数的思想，找这个数从x/2之内找，注意找不到的时候取相近的那个
*/
c...]]></description><category></category></item><item><title><![CDATA[LeetCode算法打卡--树]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/102398945</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/102398945</guid><author>qi_700</author><pubDate>Tue, 08 Oct 2019 18:17:48 +0800</pubDate><description><![CDATA[129. 求根到叶子节点数字之和

给定一个二叉树，它的每个结点都存放一个0-9的数字，每条从根到叶子节点的路径都代表一个数字。

例如，从根到叶子节点路径 1-&gt;2-&gt;3 代表数字 123。

计算从根到叶子节点生成的所有数字之和。

说明:叶子节点是指没有子节点的节点。


链接：https://leetcode-cn.com/problems/sum-root-to-lea...]]></description><category></category></item><item><title><![CDATA[LeetCode算法打卡--查找]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/101458087</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/101458087</guid><author>qi_700</author><pubDate>Thu, 26 Sep 2019 17:50:25 +0800</pubDate><description><![CDATA[35. 搜索插入位置

给定一个排序数组和一个目标值，在数组中找到目标值，并返回其索引。如果目标值不存在于数组中，返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。

链接:https://leetcode-cn.com/problems/search-insert-position/


/*基本思想：二分查找
*/

class Solution {
public:
    int...]]></description><category></category></item><item><title><![CDATA[搜狗语料库word2vec获取词向量]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/101013497</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/101013497</guid><author>qi_700</author><pubDate>Thu, 19 Sep 2019 10:34:40 +0800</pubDate><description><![CDATA[一、中文语料库

本文采用的是搜狗实验室的搜狗新闻语料库，数据链接http://www.sogou.com/labs/resource/cs.php

首先对搜狗语料库的样例文件进行分析。搜狗语料库由搜狗实验室提供，我们使用搜狗新闻语料库，下载地址在：http://www.sogou.com/labs/resource/cs.php。分析语料格式时先下载迷你版分析。



下载下来的文件名为：...]]></description><category></category></item><item><title><![CDATA[LeetCode算法打卡--区间问题]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/100932479</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/100932479</guid><author>qi_700</author><pubDate>Tue, 17 Sep 2019 17:13:22 +0800</pubDate><description><![CDATA[57. 插入区间

给出一个无重叠的 ，按照区间起始端点排序的区间列表。

在列表中插入一个新的区间，你需要确保列表中的区间仍然有序且不重叠（如果有必要的话，可以合并区间）。

链接：https://leetcode-cn.com/problems/insert-interval/


/*基本思想：先找到要插入的区间的位置，拆入之后，区间合并
 如果插入式头，那就从后面判断合并的区间，找后面的s...]]></description><category></category></item><item><title><![CDATA[LeetCode算法打卡--复杂度]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/100887666</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/100887666</guid><author>qi_700</author><pubDate>Mon, 16 Sep 2019 14:48:24 +0800</pubDate><description><![CDATA[136. 只出现一次的数字

给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。

说明：

你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗？


链接：https://leetcode-cn.com/problems/single-number




/*基本思路：两种方法：
    方法一： 数组排序，前后相同则跳过继续，...]]></description><category></category></item><item><title><![CDATA[LeetCode算法打卡--回溯，dfs搜索]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/100669501</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/100669501</guid><author>qi_700</author><pubDate>Mon, 09 Sep 2019 17:51:51 +0800</pubDate><description><![CDATA[77. 组合

给定两个整数n和k，返回 1 ...n中所有可能的k个数的组合。

链接：https://leetcode-cn.com/problems/combinations/



/* 基本思想：回溯算法，相当于深度优先搜索组合
*/
class Solution {
public:
    
    void huisu(vector&lt;vector&lt;int&g...]]></description><category></category></item><item><title><![CDATA[LeetCode算法打卡--全排列]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/100119914</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/100119914</guid><author>qi_700</author><pubDate>Wed, 28 Aug 2019 15:15:30 +0800</pubDate><description><![CDATA[46. 全排列

给定一个没有重复数字的序列，返回其所有可能的全排列。

链接：https://leetcode-cn.com/problems/permutations/


/*
基本思想：回溯递归的基本方法，从一个开始继续找下一个进行交换，递归的过程是后面的排列再加前面的数字
*/
class Solution {
public:
  void dfs(vector&lt;int&gt;...]]></description><category></category></item><item><title><![CDATA[LeetCode算法打卡--动态规划]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/100101851</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/100101851</guid><author>qi_700</author><pubDate>Tue, 27 Aug 2019 16:06:51 +0800</pubDate><description><![CDATA[62. 不同路径

一个机器人位于一个 m x n 网格的左上角 （起始点在下图中标记为“Start” ）。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角（在下图中标记为“Finish”）。

问总共有多少条不同的路径？


链接：https://leetcode-cn.com/problems/unique-paths




/*
 基本思想：基本动态规划思想
*/
c...]]></description><category></category></item><item><title><![CDATA[LeetCode算法打卡--数组]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/100099946</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/100099946</guid><author>qi_700</author><pubDate>Tue, 27 Aug 2019 15:11:11 +0800</pubDate><description><![CDATA[130. 被围绕的区域

给定一个二维的矩阵，包含'X'和'O'（字母 O）。

找到所有被'X'围绕的区域，并将这些区域里所有的'O'用'X'填充。



链接：https://leetcode-cn.com/problems/surrounded-regions/



/*基本思想：遍历四条边上（上下左右边界）的O，并深度遍历dfs与其相连的O，将这些O都转为1

  ...]]></description><category></category></item><item><title><![CDATA[LeetCode算法打卡]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/100082084</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/100082084</guid><author>qi_700</author><pubDate>Mon, 26 Aug 2019 17:24:37 +0800</pubDate><description><![CDATA[75. 颜色分类

给定一个包含红色、白色和蓝色，一共n 个元素的数组，原地对它们进行排序，使得相同颜色的元素相邻，并按照红色、白色、蓝色顺序排列。

此题中，我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。

注意:
不能使用代码库中的排序函数来解决这道题。


链接：https://leetcode-cn.com/problems/sort-colors



/*基本思想：先用...]]></description><category></category></item><item><title><![CDATA[LeetCode算法打卡--字符串]]></title><link>https://blog.youkuaiyun.com/qi_700/article/details/99677725</link><guid>https://blog.youkuaiyun.com/qi_700/article/details/99677725</guid><author>qi_700</author><pubDate>Fri, 16 Aug 2019 14:41:01 +0800</pubDate><description><![CDATA[28. 实现 strStr()

实现strStr()函数。

给定一个haystack 字符串和一个 needle 字符串，在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在，则返回-1。


链接：https://leetcode-cn.com/problems/implement-strstr



/*基本思想：最简单的就是对于n...]]></description><category></category></item></channel></rss>