<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Not_Plain的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Not_Plain</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Not_Plain]]></copyright><item><title><![CDATA[心]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5880449</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5880449</guid><author>Not_Plain</author><pubDate>Mon, 13 Sep 2010 10:52:00 +0800</pubDate><description><![CDATA[<br />什么是心？<br />总会问这个问题，何为心？心是世界，心是自己，心是一切？<br /> ]]></description><category></category></item><item><title><![CDATA[出 和 入]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5880439</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5880439</guid><author>Not_Plain</author><pubDate>Mon, 13 Sep 2010 10:48:00 +0800</pubDate><description><![CDATA[<br />不入世，何以出世？不去体会人间百态，摆出一个愤世嫉俗的态度，怎么才能悟呢？<br />放下清高，放下自命不凡，放下你所厌恶，划分界限的东西，主动融入，不入何以<br />出？不拿起，何以放下？道家讲出世，其实入世却是出世的前提和基础。这无关信仰<br />无关宗教，只论人生的态度，处世的心态。也许很多你看不惯，可是看不惯的东西，<br />却是你在这个世界生存的必修课。]]></description><category></category></item><item><title><![CDATA[笔试面试之 最大和子矩阵]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5835605</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5835605</guid><author>Not_Plain</author><pubDate>Tue, 24 Aug 2010 19:32:00 +0800</pubDate><description><![CDATA[<br /><br />方法一：求出所有的子矩阵然后再分别计算所有矩阵的和求最大的。复杂度较大，o(n4)<br />方法二：采用转化法，将矩阵问题，转化为一维问题（求最大子序列问题）。<br />#include "stdafx.h"<br />#include <iostream><br />using namespace std;<br /> <br />#define MIN -10000<br /> <br />int ** a;<br />int sum;<br />char * str;<br]]></description><category></category></item><item><title><![CDATA[笔试面试之完全数]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5827480</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5827480</guid><author>Not_Plain</author><pubDate>Fri, 20 Aug 2010 19:34:00 +0800</pubDate><description><![CDATA[<br /><br />知道什么是完全数吗？完全数又称为完美数，因为它有如下特别的性质：例如6，它有约数1, 2, 3（不算它自身在内），这三个约数的和刚好也是它本身。现在就要你找出这些数<br /> <br />输入<br />多组测试数据，一组里只有一行，就是一个n(1<=n<=5e18)<br /> <br />输出<br />1到n的所有完全数，一个数占一行<br /> <br />样例输入：<br />30<br /> <br />样例输出：<br />6<br />28<br /> <br />]]></description><category></category></item><item><title><![CDATA[Bloom Filter应用之LOAF]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5827443</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5827443</guid><author>Not_Plain</author><pubDate>Fri, 20 Aug 2010 19:02:00 +0800</pubDate><description><![CDATA[<br /><br />LOAF (List Of All Friends)是一种email的扩展，它允许你在发送电子邮件时连同你的通讯录一起发出。通讯录（邮件地址的集合）用bloom filter来表示，不但大大减少了网络通信量，而且保护了你的隐私。LOAF将你收到邮件中的bloom filter收集到本地作为数据库，从而在其它邮件到来时判断其优先级。LOAF可以帮你把接收的邮件分成三类：<br /> <br />1.         和你有联系的朋友，这类邮件当然优先级最高。<br /> <br />2]]></description><category></category></item><item><title><![CDATA[笔试面试之 任意数制转换]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5825736</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5825736</guid><author>Not_Plain</author><pubDate>Fri, 20 Aug 2010 10:09:00 +0800</pubDate><description><![CDATA[<br /><br />#include<iostream>      <br /> <br />using namespace std;      <br /> <br />int NumConvert(int n,int k)      <br />{      <br />    long long t = n;      <br />    if(k < 2 || k > 36) return -1;      <br />    if(t == 0)      <br />    {      <]]></description><category></category></item><item><title><![CDATA[笔试面试之最大对称字串]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5811618</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5811618</guid><author>Not_Plain</author><pubDate>Sat, 14 Aug 2010 10:38:00 +0800</pubDate><description><![CDATA[<br />程序员面试题精选100题(46)－对称子字符串的最大长度<br />字符串2010-07-31 12:51:20阅读147评论0字号：大中小<br />题目：输入一个字符串，输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”，由于该字符串里最长的对称子字符串是“goog”，因此输出4。<br />分析：可能很多人都写过判断一个字符串是不是对称的函数，这个题目可以看成是该函数的加强版。<br />要判断一个字符串是不是对称的，不是一件很难的事情。我们可以先得到字符串首尾两个字符]]></description><category></category></item><item><title><![CDATA[设计模式之 笔者的总结]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5736392</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5736392</guid><author>Not_Plain</author><pubDate>Thu, 15 Jul 2010 10:02:00 +0800</pubDate><description><![CDATA[常见设计模式的解析和实现(C++)之二十一-完结篇<br />        一个月下来,把常见的20个设计模式好好复习并且逐个用C++实现了一遍,收获还是很大的,很多东西看上去明白了但是真正动手去做的时候发现其实还是不明白--我深知这个道理,于是不敢怠慢,不敢写什么所谓的解释原理的伪代码,不敢说所谓的"知道原理就可以了"....因为我知道,我还还没有资格说这个话,至少对于设计模式而言我还是一个初学者,唯有踏实和实干才能慢慢的掌握到知识.<br /><br />        在我学习设计模式的过程中,觉得]]></description><category></category></item><item><title><![CDATA[设计模式之 visitor]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5736355</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5736355</guid><author>Not_Plain</author><pubDate>Thu, 15 Jul 2010 09:54:00 +0800</pubDate><description><![CDATA[常见设计模式的解析和实现(C++)之二十-Visitor模式 作用:<br />表示一个作用于某对象结构中的各元素的操作.它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作.<br /><br />UML结构图:<br /><br /><br />解析:<br />Visitor模式把对结点的访问封装成一个抽象基类,通过派生出不同的类生成新的访问方式.在实现的时候,在visitor抽象基类中声明了对所有不同结点进行访问的接口函数,如图中的VisitConcreateElementA函数等,这样也]]></description><category></category></item><item><title><![CDATA[设计模式之 memento]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5736258</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5736258</guid><author>Not_Plain</author><pubDate>Thu, 15 Jul 2010 09:31:00 +0800</pubDate><description><![CDATA[常见设计模式的解析和实现(C++)之十九-Memento模式 作用:<br />在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态.<br /><br />UML结构图:<br /><br /><br />解析:<br />Memento模式中封装的是需要保存的状态,当需要恢复的时候才取出来进行恢复.原理很简单,实现的时候需要注意一个地方:窄接口和宽接口.所谓的宽接口就是一般意义上的接口,把对外的接口作为public成员;而窄接口反之,把接口]]></description><category></category></item><item><title><![CDATA[设计模式之 iterator]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5733481</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5733481</guid><author>Not_Plain</author><pubDate>Wed, 14 Jul 2010 10:00:00 +0800</pubDate><description><![CDATA[常见设计模式的解析和实现(C++)之十八-Iterator模式作用:<br />提供一种方法顺序访问一个聚合对象中各个元素,,而又不需暴露该对象的内部表示.<br /><br />UML结构图:<br /><br /><br />解析:<br />Iterator几乎是大部分人在初学C++的时候就无意之中接触到的第一种设计模式,因为在STL之中,所有的容器类都有与之相关的迭代器.以前初学STL的时候,时常在看到讲述迭代器作用的时候是这么说的:提供一种方式,使得算法和容器可以独立的变化,而且在访问容器对象的时]]></description><category></category></item><item><title><![CDATA[设计模式之 state]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5733428</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5733428</guid><author>Not_Plain</author><pubDate>Wed, 14 Jul 2010 09:45:00 +0800</pubDate><description><![CDATA[常见设计模式的解析和实现(C++)之十七-State模式 作用:<br />允许一个对象在其内部状态改变时改变它的行为.<br /><br />UML结构图:<br /><br /><br />解析:<br />State模式主要解决的是在开发中时常遇到的根据不同的状态需要进行不同的处理操作的问题,而这样的问题,大部分人是采用switch-case语句进行处理的,这样会造成一个问题:分支过多,而且如果加入一个新的状态就需要对原来的代码进行编译.State模式采用了对这些不同的状态进行封装的方式处理这类问题,]]></description><category></category></item><item><title><![CDATA[设计模式之 strategy]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5733393</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5733393</guid><author>Not_Plain</author><pubDate>Wed, 14 Jul 2010 09:34:00 +0800</pubDate><description><![CDATA[常见设计模式的解析和实现(C++)之十六-Strategy模式 作用:<br />定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换.本模式使得算法可独立于使用它的客户而变化.<br /><br />UML结构图:<br /><br /><br />解析:<br />简而言之一句话,Strategy模式是对算法的封装.处理一个问题的时候可能有多种算法,这些算法的接口(输入参数,输出参数等)都是一致的,那么可以考虑采用Strategy模式对这些算法进行封装,在基类中定义一个函数接口就可以了.<br]]></description><category></category></item><item><title><![CDATA[笔试面试之 随机打印1-100的数，每次只可以打印一次]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5731832</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5731832</guid><author>Not_Plain</author><pubDate>Tue, 13 Jul 2010 15:00:00 +0800</pubDate><description><![CDATA[<br />问题的难点在于随机打，但是要求每次随机不能有重复，倘若有随机函数 random(int a, int b),代表随机打印a到b之间的数. <br /> <br />我们可以考虑偌随机出来的不是直接是1-100的数，而是数组的下标是否可以实现随机数不重复。 例如： int array[100],a[0] 到a[99]分别是1-100 random(0,99),得到一个随机数x,打印出a[x],然后将a[x]与a[99]交换 下次随机函数random(0,98)，这样无论这次随机值是多少，a[x]都]]></description><category></category></item><item><title><![CDATA[ubantu 更新软件源]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5727351</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5727351</guid><author>Not_Plain</author><pubDate>Sun, 11 Jul 2010 19:18:00 +0800</pubDate><description><![CDATA[Ubuntu软件源
<br />对于Ubuntu的在线更新设计，相信您一定觉得十分方便，因为这可以提高系统安装的速度，并节省下载安装CD/DVD的大量时间（目前的Linux 发行版安装都需要多张CD或DVD，对于上网带宽不足的用户，这常会造成下载的困难）。<br />不知您是否想过，这些软件到底存放在哪里？是否可以指定下载的位置？解决此类问题，就必须提及Ubuntu使用的“软件源”（Software Repositories）。<br />在Ubuntu中所谓的“软件源”，是指在世界上许多服务器上放置的软]]></description><category></category></item><item><title><![CDATA[设计模式之 observer]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5726715</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5726715</guid><author>Not_Plain</author><pubDate>Sun, 11 Jul 2010 11:48:00 +0800</pubDate><description><![CDATA[常见设计模式的解析和实现(C++)之十五-Observer模式 作用:<br />定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.<br /><br />UML结构图:<br /><br /><br /><br />解析:<br />Observer模式定义的是一种一对多的关系,这里的一就是图中的Subject类,而多则是Obesrver类,当Subject类的状态发生变化的时候通知与之对应的Obesrver类们也去相应的更新状态,同时支持动态的添加和]]></description><category></category></item><item><title><![CDATA[设计模式之 observer]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5726699</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5726699</guid><author>Not_Plain</author><pubDate>Sun, 11 Jul 2010 11:40:00 +0800</pubDate><description><![CDATA[常见设计模式的解析和实现(C++)之十五-Observer模式 作用:<br />定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.<br /><br />UML结构图:<br /><br /><br /><br />解析:<br />Observer模式定义的是一种一对多的关系,这里的一就是图中的Subject类,而多则是Obesrver类,当Subject类的状态发生变化的时候通知与之对应的Obesrver类们也去相应的更新状态,同时支持动态的添加和]]></description><category></category></item><item><title><![CDATA[设计模式之 command]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5726606</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5726606</guid><author>Not_Plain</author><pubDate>Sun, 11 Jul 2010 10:35:00 +0800</pubDate><description><![CDATA[常见设计模式的解析和实现(C++)之十四-Command模式 作用:<br />将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作.<br /><br />UML结构图:<br /><br /><br />解析:<br />Comnand模式的思想是把命令封装在一个类中,就是这里的Command基类,同时把接收对象也封装在一个类中就是这里的Receiver类中,由调用这个命令的类也就是这里的Invoker类来调用.其实,如果弄清楚了Command]]></description><category></category></item><item><title><![CDATA[设计模式之 flyweight]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5722618</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5722618</guid><author>Not_Plain</author><pubDate>Fri, 09 Jul 2010 10:33:00 +0800</pubDate><description><![CDATA[常见设计模式的解析和实现(C++)之十三-FlyWeight模式作用:<br />运用共享技术有效地支持大量细粒度的对象。<br /><br />UML结构图:<br /><br /><br /><br />解析:<br />Flyweight模式在大量使用一些可以被共享的对象的时候经常使用.比如,在QQ聊天的时候很多时候你懒得回复又不得不回复的时候,一般会用一些客套的话语敷衍别人,如"呵呵","好的"等等之类的,这些简单的答复其实每个人都是提前定义好的,在使用的时候才调用出来.Flyweight就是基于解]]></description><category></category></item><item><title><![CDATA[设计模式之 chainofresponsibility]]></title><link>https://blog.youkuaiyun.com/Not_Plain/article/details/5722555</link><guid>https://blog.youkuaiyun.com/Not_Plain/article/details/5722555</guid><author>Not_Plain</author><pubDate>Fri, 09 Jul 2010 10:15:00 +0800</pubDate><description><![CDATA[常见设计模式的解析和实现(C++)之十二-ChainOfResponsibility模式 作用:<br />使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这些对象连成一条链，并沿着这条链传递该请求,直到有一个对象处理它为止.<br /><br />UML结构图:<br /><br /><br /><br />抽象基类:<br />1)Handler:定义一个处理请求的接口,在图中这个接口就是HandleRequset函数,这个类同时有一个指向Handler对象的指针,指向后续的处]]></description><category></category></item></channel></rss>