<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[leonhe27的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/leonhe27</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; leonhe27]]></copyright><item><title><![CDATA[在tmux中使用docker container [Error:Got permission denied while trying to connect to the Docker]]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/90105308</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/90105308</guid><author>leonhe27</author><pubDate>Sat, 11 May 2019 06:55:18 +0800</pubDate><description><![CDATA[如果在tmux中输入docker 相关的命令，可能会出现如下error：

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Gethttp://%2Fvar%2Frun%2Fdocker.sock/v1.37/containers/j...]]></description><category></category></item><item><title><![CDATA[Spyder连接远程服务器]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/85221241</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/85221241</guid><author>leonhe27</author><pubDate>Sun, 23 Dec 2018 11:28:51 +0800</pubDate><description><![CDATA[（以下方法适用于spyder &amp;gt;= 3.3.0，更老的版本并不支持查看远程kernel中的变量。）

服务器端用conda/pip 安装 spyder-kernels
	服务器端用命令 “python -m spyder_kernels.console”开启一个kernel
	服务器端用命令 “jupyter --runtime-dir” 找到kernel文件)所在的路径
       ​​...]]></description><category></category></item><item><title><![CDATA[如何将VS Code 和 Cmder 整合。（设置cmder 为 vs code默认terminal）]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/81210000</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/81210000</guid><author>leonhe27</author><pubDate>Wed, 25 Jul 2018 20:53:32 +0800</pubDate><description><![CDATA[按下ctrl+shift+p键，输入setting，打开user settings如图：



然后依次点击：Features -&gt; Terminal -&gt; Edit in the settings.json



如图进入了setting的json文件，



将


"terminal.integrated.shell.windows": "C:\\WINDOWS\\System...]]></description><category></category></item><item><title><![CDATA[POJ - 3579(二分法找中位数)]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/53447246</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/53447246</guid><author>leonhe27</author><pubDate>Sat, 03 Dec 2016 20:01:34 +0800</pubDate><description><![CDATA[POJ - 3579(二分法找中位数)
思路:不需要具体存储差值, 可以利用二分判定直接找到
本题利用了lower_bound函数(在algorithm类中), 用法: lower_bound(a,a+n,x), 返回的是,在a中第一次大于或者等于x的地址. 如果a是数组, 返回的是指针类型, 如果是vector, 返回的是iterator类型. 
test函数中, cnt记录的是小于a[i]+va]]></description><category></category></item><item><title><![CDATA[算法 - 动态规划(通过金矿模型介绍动态规划)]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/53413995</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/53413995</guid><author>leonhe27</author><pubDate>Wed, 30 Nov 2016 21:19:43 +0800</pubDate><description><![CDATA[原文地址: http://www.cnblogs.com/sdjl/articles/1274312.html
原文如下:

对于动态规划，每个刚接触的人都需要一段时间来理解，特别是第一次接触的时候总是想不通为什么这种方法可行，这篇文章就是为了帮助大家理解动态规划，并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂，无异性，不让读者感到迷惑，引导读者去思考，所以如果你]]></description><category></category></item><item><title><![CDATA[POJ - 2002(静态哈希链表找正方形)]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/53410806</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/53410806</guid><author>leonhe27</author><pubDate>Wed, 30 Nov 2016 17:24:03 +0800</pubDate><description><![CDATA[POJ - 2002(静态哈希链表找正方形)
  第一次做OJ,卡了好久, 稍微总结下.
原理
注意如果正方形有两个点是整数, 余下的两个点一定是整数. 计算公式如下:
已知：(x1,y1),(x2,y2)(x1,y1)  ,(x2,y2)      则：   x3=x1+(y1−y2)y3=y1−(x1−x2)x3=x1+(y1-y2)   \quad y3= y1-(x1-x2) x4=x2+(]]></description><category></category></item><item><title><![CDATA[c++学习笔记(6)——关于随机数的生成（待完善）]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/51473371</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/51473371</guid><author>leonhe27</author><pubDate>Mon, 25 Jul 2016 20:55:25 +0800</pubDate><description><![CDATA[int num[11];
	srand((int)time(0));//这里说明了随机数的类型是int
	for (int i(0); i != 11; i++)
	{
		num[i] = rand() % 100;//模多少就生成到多少的随机数
		cout << num[i] << " ";
	}
需要包含、 这两个头文件！]]></description><category></category></item><item><title><![CDATA[c++ 错误点集锦]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/51472144</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/51472144</guid><author>leonhe27</author><pubDate>Sun, 05 Jun 2016 20:53:48 +0800</pubDate><description><![CDATA[1、数组在作为函数参数传递的时候，就退化为指针了，这个时候无论是sizeof(array)还是sizeof(*array)得到的都只能是这个指针指的一个元素所占的字节数目（4），而不能得到数组的长度！！


2、vector类型作为函数参数传递的时候，是在进行复制，实际上的顺序并不会改变，而数组类型作为函数参数只能传递首指针，这个时候在函数中进行的操作实际会影响数组本身，这个时候，一般要先进]]></description><category></category></item><item><title><![CDATA[c++学习笔记(8)——关于模板类]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/51475740</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/51475740</guid><author>leonhe27</author><pubDate>Sun, 22 May 2016 16:51:22 +0800</pubDate><description><![CDATA[1、就算是默认构造函数不需要构造任何东西，也要写出一个空函数体！如大整数类class long_int
{
public:
	long_int();
	long_int(int);
	int size() 
	{ 
		if (data.size() == 0)
			return 0;
		return data.size() - 1; 
	}
	void output();


private]]></description><category></category></item><item><title><![CDATA[c++学习笔记(7)——关于类的实现（以vector为例）]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/51473403</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/51473403</guid><author>leonhe27</author><pubDate>Sun, 22 May 2016 01:28:19 +0800</pubDate><description><![CDATA[#ifndef VEC_H
#define VEC_H

#pragma warning(disable:4996)//这里最好有这一句，否则uninitialized_copy 函数会被称为unsafe!也提示我们在出现unsafe的时候，要用这个屏蔽掉。
#include 
#include 
#include 


template 
class Vec
{
public:

	typede]]></description><category></category></item><item><title><![CDATA[c++学习笔记(5)——关于三种内存分配方法]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/51468986</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/51468986</guid><author>leonhe27</author><pubDate>Sat, 21 May 2016 09:49:04 +0800</pubDate><description><![CDATA[1、第一种：自动分配内存，常与局域变量联系在一起，一个局域变量值在程序执行到该变量定义的时候才会由系统自动分配内存给它，当包含该变量的定义的模块结束的时候，该变量占用的内存自动释放。需要注意的是：当一个变量占用的空间被释放以后，任何指向它的指针都将变得无效。例如：
int* invalid_pointer()
{
	int x;
	return &x;//这里是取地址运算符号
}
该函数返回了一]]></description><category></category></item><item><title><![CDATA[c++学习笔记(3)——关于函数指针与数组]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/51468734</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/51468734</guid><author>leonhe27</author><pubDate>Sat, 21 May 2016 08:03:45 +0800</pubDate><description><![CDATA[· 通常情况下，我们将数据可以存储在1）变量，2）标准库中的容器（如向量）。而低级数据结构：更危险，更难，不过更有效甚至是万能的。
· 动态管理内存主要是通过new和delete表达式实现的。
· 指针和数组总是统计出现的。
· 指向函数的指针：
函数不是对象，我们无法进行复制或者赋值，也无法将函数作为参数，程序中无法创建或者修改一个函数——只有编译器可以这样做。一个程序对函数进行的全部操]]></description><category></category></item><item><title><![CDATA[c++学习笔记(2)——有关queue]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/51412845</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/51412845</guid><author>leonhe27</author><pubDate>Sat, 14 May 2016 23:42:40 +0800</pubDate><description><![CDATA[1、queue是队列，队列应有queue_node，queue两部分组成，前者是节点的意思。
在动态管理内存的时候，注意利用new和delete这两个语句。
队列的元素个数不能用tail_ptr - head_ptr 来获取，因为不同于数组连续存储，队列的存储是随机的，头尾指针相减得到的是一个随机值！！！（不能得到长度）
2、queue.h代码如下：
注意：头文件中一般只能定义函数和类类型]]></description><category></category></item><item><title><![CDATA[C++学习笔记(1) —— 有关在函数参数表后的const]]></title><link>https://blog.youkuaiyun.com/leonhe27/article/details/51387736</link><guid>https://blog.youkuaiyun.com/leonhe27/article/details/51387736</guid><author>leonhe27</author><pubDate>Thu, 12 May 2016 21:27:07 +0800</pubDate><description><![CDATA[这是把整个函数修饰为const，意思是“函数体内不能对成员数据做任何改动”。如果你声明这个类的一个const实例，那么它就只能调用有const修饰的函数。

　如：  class   Text{   
  public:   
          void   printconst(void)const{cout<<"hello"<<endl;}   
          void   pri]]></description><category></category></item></channel></rss>