<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[duringsummer的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/duringsummer</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; duringsummer]]></copyright><item><title><![CDATA[macOS clion ffmpeg 配置]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/126186399</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/126186399</guid><author>duringsummer</author><pubDate>Fri, 05 Aug 2022 22:13:26 +0800</pubDate><description><![CDATA[clion环境配置]]></description><category></category></item><item><title><![CDATA[STL find_if()函数]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/126138205</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/126138205</guid><author>duringsummer</author><pubDate>Wed, 03 Aug 2022 14:23:23 +0800</pubDate><description><![CDATA[find _if 函数总结]]></description><category></category></item><item><title><![CDATA[fork函数与管道]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/125553081</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/125553081</guid><author>duringsummer</author><pubDate>Sun, 03 Jul 2022 19:29:50 +0800</pubDate><description><![CDATA[进程间通信]]></description><category></category></item><item><title><![CDATA[C++ make_shared使用]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/122524446</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/122524446</guid><author>duringsummer</author><pubDate>Sun, 16 Jan 2022 17:02:24 +0800</pubDate><description><![CDATA[C++内存分四大块


全局 主函数运行前使用，初始化


静态 变量第一次使用前，初始化
以上两块内存都会在程序结束后自动释放


堆区 由程序员管理，C++管理方法有new delete等关键字


栈区 由编译器管理，存放程序的局部变量和参数


因此我们需要关注堆区的内存管理。内存管理经常会碰到忘记释放造成的内存泄露。
在C++中引入了智能指针，有shared_ptr，unique_ptr和weak_ptr。
shared_ptr
工作中shared_ptr用得比较多，今天做个总结
使用智能指针，需]]></description><category></category></item><item><title><![CDATA[docker中container的状态]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/122348742</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/122348742</guid><author>duringsummer</author><pubDate>Thu, 06 Jan 2022 17:45:25 +0800</pubDate><description><![CDATA[上学期用了docker，管理镜像很方便，挺实用的。
docker-compose 的一键部署也很好用，只需要写好相应的yaml文件，就能使用 docker-compose up一键启动。
image即镜像，可以理解为是环境包。
container 相当于是image的实例化，引擎上可以跑同一个image的多个实例。
但是在管理container时，分不清kill 与rm的区别及联系，查阅相关资料，做个笔记，container有5中状态。


执行 docker kill使用ps -a 查看，容器依然存在，只]]></description><category></category></item><item><title><![CDATA[起进程加载动态链接库冲突解决方案]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/95386820</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/95386820</guid><author>duringsummer</author><pubDate>Thu, 11 Jul 2019 21:57:12 +0800</pubDate><description><![CDATA[冲突描述
情景，配置为用appdef启动相关进程，将一个进程拆成两个进程后，在做压力测试的时候有问题，同一个容器里面，加载同一个.so文件或者多个在很小的概率上会有冲突，因为进程启动先后不受控制。
问题的解决
在一个容器中启动多个进程，用同一个脚本启动，入参为启动的进程名，然后调用子脚本，逐一启动进程，先启动的进程设置为后台进程，使用&amp;标识符即可在bash脚本中达到setdaemon的效果...]]></description><category></category></item><item><title><![CDATA[leetcode 6st ZigZag Conversion]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/86184060</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/86184060</guid><author>duringsummer</author><pubDate>Wed, 09 Jan 2019 22:16:39 +0800</pubDate><description><![CDATA[1.题意
输入：字符串，行数
输出：N字形镜像旋转后的字符串
2.思路
第一反应：一列列排，中间每一列只有一个字符，找空格规律
参考方案：找同一行字符串间的间隔规律，
首尾字符间差值为（2n-2）
中间行字符差值为X =（2n-2）-2i，（2n-2）-X, （2*n-2）-X…
最后将字符串数组串起来组装成新的字符串
3.反思
思维还是太局限，应该关注输出是什么，着眼于输出于输入的关系，从其中找...]]></description><category></category></item><item><title><![CDATA[leetcode  5st Longest Palindromic Substring]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/82670274</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/82670274</guid><author>duringsummer</author><pubDate>Wed, 12 Sep 2018 23:23:08 +0800</pubDate><description><![CDATA[1.题意 
寻找输入字符串中的最长回文序列

2.思路比较 
(1)暴力破解，从头开始首尾两下标向中间移动，比较两端字符是否相同，长度控制一层循环，字符串起始位控制一层循环，比较两端字符是否相同一层循环，时间复杂度为O(n^3)代码不ac

(2)以每个字符为中心向两边扩散比较，去除长度控制这层循环，与两端标记一同控制， 
时间复杂度为O(n^2)

参考代码如下：

class Solution...]]></description><category></category></item><item><title><![CDATA[leecode 4st Median of Two Sorted Arrays]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/82598088</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/82598088</guid><author>duringsummer</author><pubDate>Mon, 10 Sep 2018 23:26:31 +0800</pubDate><description><![CDATA[1.题意 
输入为两个数字数组，找出其中的中位数 
要求时间复杂度为log(m+n)

2.思路 
先把两个数组放入一个容器中，而后找中位数， 
如果容器size为奇数，则是中位数本身，偶数，则是中间两数字的平均值

使用堆或者快速排序还要重新造轮子，搜到一个很实用的stl方法 
找数组或容器中的第n大的方法 
std::nth_element(RandomIt first, RandomIt n...]]></description><category></category></item><item><title><![CDATA[C++多线程]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/81046450</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/81046450</guid><author>duringsummer</author><pubDate>Sat, 14 Jul 2018 18:57:34 +0800</pubDate><description><![CDATA[上周在看C++ share_ptr时，有段关于讲多线程的代码很精巧，C++线程库起一个线程，只需要创建一个std::thread对象，有些ide没有相应的库，可以在linux平台下编译时加-pthread参数即可

#include &amp;lt;iostream&amp;gt;
#include &amp;lt;memory&amp;gt;
#include &amp;lt;thread&amp;gt;
#include &amp;lt;chron...]]></description><category></category></item><item><title><![CDATA[leectcode  3rd Longest Substring Without Repeating Characters]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/80044591</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/80044591</guid><author>duringsummer</author><pubDate>Sun, 22 Apr 2018 23:11:56 +0800</pubDate><description><![CDATA[1.题意 
找出无重复字母的最长子序列

2.思路 
用哈希表维护序列 
left表示无重复子串的前一个位置 
table的值表示当前字母出现的而最后一个序列位置，从1开始计数 
条件很精妙

3.反思 
起初，自己的思路很简单，用循环比较，虽然编过了，但没有ac，处理了 
1.空串 
2.特殊字符（实则不能删） 
等情况 
但是timeout 
要学会多用表等数据结构处理问题，穷举法很不理想 
...]]></description><category></category></item><item><title><![CDATA[leetcode 2nd problem  add two  numbers]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/79954149</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/79954149</guid><author>duringsummer</author><pubDate>Sun, 15 Apr 2018 22:09:53 +0800</pubDate><description><![CDATA[1.读题 
a.倒序的两个链表，均不为空。 
b.数据格式除了0以外开头不能为0。

2.思路 
和数据结构选择的大作业类似，大整数加减，不过逆序无需构造循环链表。

3.反思 
解题步骤清楚，但是变量的放置位置很有讲究，本来想对个位数做统一处理，发现逻辑上就有问题，因为，涉及到： 
a.个位数加个位数，可能不进位的情况。 
b.统一的流程只能是有一者或者两者指针移动的循环控制流，两者唯一确定的是...]]></description><category></category></item><item><title><![CDATA[leetcode 1st problem two sum]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/79337790</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/79337790</guid><author>duringsummer</author><pubDate>Mon, 19 Feb 2018 19:25:43 +0800</pubDate><description><![CDATA[去年未上传的代码， 
问题描述 
一个vector容器中，假定只有一个解，使得和为0，找出这两个数



class Solution {
public:
    vector&amp;lt;int&amp;gt; twoSum(vector&amp;lt;int&amp;gt;&amp;amp; nums, int target) {

        for(int i = 0;i&amp;lt;=nums.size()-2;i++)
  ...]]></description><category></category></item><item><title><![CDATA[默认参数与初始化列表补充]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/79113992</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/79113992</guid><author>duringsummer</author><pubDate>Sat, 20 Jan 2018 14:22:40 +0800</pubDate><description><![CDATA[针对前天默认参数与初始化列表机制的一些深究 
const类型和引用类型，在创建时，必须进行初始化。就是用参数列表初始化，移到构造函数体内部，则无法通过编译。也就是说，一旦进入构造函数体，初始化就已经完成了。那么其他内置类型或者自定义类型是不是这样的呢



#include
using namespace std;
class CExample {
public:
    int a;
    f]]></description><category></category></item><item><title><![CDATA[change Path script]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/79110755</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/79110755</guid><author>duringsummer</author><pubDate>Fri, 19 Jan 2018 21:06:13 +0800</pubDate><description><![CDATA[trigger: 在服务器上跑代码，本地更改，安利gtk代码同步工具,但在服务器上对代码库进行 commit 或者diff，project大，寻找路径，索引繁琐，遂做个路径转换的小脚本

consider到有转义字符的转换问题

tool：剪切板访问工具 —-pyperclip， 
常用函数

recommend:

pyperclip.copy()
pyperclip.paste()

源代码]]></description><category></category></item><item><title><![CDATA[默认参数与初始化列表]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/79101352</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/79101352</guid><author>duringsummer</author><pubDate>Thu, 18 Jan 2018 22:05:50 +0800</pubDate><description><![CDATA[1.构造函数的默认参数在声明时指定，（而不能只在定义构造函数时指定默认值）使得创建对象时，可以顺序缺省参数，使用默认参数初始化，例：



class Box{
    Box(int m = 10, int n= 20);//声明
} 

    Box::Box(int m, int n) //实现
{
    int a = m;
    int b = n;
}

2.在一个类中定义了全部]]></description><category></category></item><item><title><![CDATA[聚合初始化补充]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/79091129</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/79091129</guid><author>duringsummer</author><pubDate>Wed, 17 Jan 2018 23:17:29 +0800</pubDate><description><![CDATA[对昨天的花括号初始化做一个补充，术语应该叫做聚合初始化，补充一个Stackoverflow上的高票答案

这里发生了什么叫做聚合初始化。以下是ISO规范第8.5.1节中的一个聚合的（缩写）定义： 
聚合是一个没有用户声明构造函数的数组或类，没有私有或受保护的非静态数据成员，没有基类，也没有虚函数。 
现在，使用{0}像这样初始化一个聚合，基本上是0整个事情的一个技巧。这是因为在使用聚合初始化时，您]]></description><category></category></item><item><title><![CDATA[C++创建对象时加括号与不加括号的区别]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/79091103</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/79091103</guid><author>duringsummer</author><pubDate>Wed, 17 Jan 2018 23:13:05 +0800</pubDate><description><![CDATA[看到一篇文章对创建对象时的集中情况，梳理得很清楚 
c++创建对象的语法有—– 
1 在栈上创建 MyClass a; 
2 在堆上创建加括号 MyClass *a= new MyClass(); 
3 不加括号 MyClass *a = new MyClass;也是在对上创建，并且有一个自定义类型指针指向myclass 
4.—————MyClass a();声明了一个返回值为MyClass类型]]></description><category></category></item><item><title><![CDATA[C++11初始化与构造]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/79079894</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/79079894</guid><author>duringsummer</author><pubDate>Tue, 16 Jan 2018 22:17:52 +0800</pubDate><description><![CDATA[研究vector容器使用方法时，初始化与构造需要区分

初始化不是赋值，初始化的含义是创建变量时赋予其初始值，赋值，则是将对象当前值擦除，用新值替代

拷贝初始化与直接初始化是一对概念，特征为使用等号是拷贝初始化(copy initialization)，把等号右侧的值赋值到新建对象中去，（右侧是值，一般在花括号内，若为对象，会先调用）不使用等号，是直接初始化（direct initializat]]></description><category></category></item><item><title><![CDATA[两个小题目]]></title><link>https://blog.youkuaiyun.com/duringsummer/article/details/61441066</link><guid>https://blog.youkuaiyun.com/duringsummer/article/details/61441066</guid><author>duringsummer</author><pubDate>Sat, 11 Mar 2017 23:10:53 +0800</pubDate><description><![CDATA[检查二进制中1的个数
链表成环]]></description><category></category></item></channel></rss>