中介者模式主要在于解耦,使用一个中介的对象,封装一组对象之间的交互,这样这些对象就可以不用彼此耦合。 应用场景: 1.当一组对象要进行沟通或者业务上的交互,但是其关系又很复杂混乱时。 2.当一个对象与其他对象要进行紧密的交互,又不想依赖于其他对象时。 3.想创造一个运行于多个类之间的对象,又不想生成 ...
分类:
编程语言 时间:
2017-03-11 23:15:54
阅读次数:
231
使用PyQt5。 方便电脑传输网址或者文字内容到手机上面,扫一下二维码就行了,短网址偶尔也能用上。 效果如下图: ...
分类:
编程语言 时间:
2017-03-11 23:11:35
阅读次数:
973
题意:给定一个长度为2^N的序列和N个操作,每个操作i为将2^N分为2^(N-i+1)段,然后任意交换其中两段,求有多少种不同的交换方案使得序列升序 题解: 由于一个合法的方案中,交换操作的先后顺序,方案依然合法,所以我们只需要确定使用哪些操作。 按i的大小从小到大枚举每一个操作i,然后将序列分为2 ...
分类:
编程语言 时间:
2017-03-11 23:10:57
阅读次数:
209
两个map,循环一次取出key,value都相等的交集 ...
分类:
编程语言 时间:
2017-03-11 23:07:27
阅读次数:
207
splaytree.h splaytree.c ...
分类:
编程语言 时间:
2017-03-11 23:05:33
阅读次数:
248
1、三路快速排序算法的基本思想 之前的快速排序算法都是将序列分成<=v和>v或者是<v和>=v的两个部分,而三路快速排序是将序列分成三个部分: <v、=v、>v,如下图所示: 首先v元素还是作为"基准"元素,e表示当前遍历索引值指向的元素,也就是待考虑的元素,从图中可以看出来,整个序列被分成 3个部 ...
分类:
编程语言 时间:
2017-03-11 23:02:57
阅读次数:
203
这是一本好书, 可以让你认清自己对C++的掌握程度. 看完之后,给自己打分,我对C++了解多少? 答案是不足20分. 对于我自己是理所当然的问题, 就不提了, 记一些有启发的条目和细节: (*号表示不能完全理解,实力升级了之后回头看) 一般性问题: 1. 不要在注释中重复写代码语义,这样很容易产生不 ...
分类:
编程语言 时间:
2017-03-11 23:01:45
阅读次数:
257
1、8种基本数据类型 1)4种整数类型(byte、short、int、long) 【知识点】 a)整数的默认类型是int b)以上4种类型,只有long型必须要在末位加上L或者l,其它直接赋值数值即可。 2)2种浮点类型(float、double) 【知识点】 a)浮点类型的默认类型是double ...
分类:
编程语言 时间:
2017-03-11 23:01:14
阅读次数:
196
每个ip数值为0-225 否则输出false,正确返回true 例如:输入: ...
分类:
编程语言 时间:
2017-03-11 23:00:52
阅读次数:
283
一.基本的数学运算符+加,两个对象相加,用来计算最基本的加法,比如1+1,等于2。(同时,加法还可以用来拼接字符串)2.-减,可以让两个数相减,活着定义负数。2-1等于1。3.*乘,可以让两个数字相乘,5*5等于25,*乘法也可以用在字符串上,可以使一个字符或者字符串重复若..
分类:
编程语言 时间:
2017-03-11 22:18:08
阅读次数:
202
STL萃取学习一,萃取模板类实现iterator类:模板常用属性的集合类,其他类只需要集成该类即可。本例为学习就只包括value_type属性。iterator_traits类:属性萃取类。/*********************************
*
*Author:szyu
*
*Date:2017.3.1
*
**********************************..
分类:
编程语言 时间:
2017-03-11 22:15:00
阅读次数:
209
标题:LinuxC/C++程序员CentOS6.5安装YouCompleteMe使用vim语法自动补全Ubuntu/Debian/Fedora比较好安装,各种软件包都比较新CentOS6系列很难装,各种软件包版本太低了新手不要尝试在CentOS6系上安装,会有一种挫败感!步骤:1,安装操作系统2,文件下载3,更新vim4,安装ycm和Vundle5,编..
分类:
编程语言 时间:
2017-03-11 22:12:10
阅读次数:
2134
Writeaprogramtocheckwhetheragivennumberisanuglynumber.
Uglynumbersarepositivenumberswhoseprimefactorsonlyinclude2,3,5.Forexample,6,8areuglywhile14isnotuglysinceitincludesanotherprimefactor7.
Notethat1istypicallytreatedasanuglynumber.题意:判断一个数是不是丑..
分类:
编程语言 时间:
2017-03-11 22:11:32
阅读次数:
178
Writeaprogramtofindthen-thuglynumber.
Uglynumbersarepositivenumberswhoseprimefactorsonlyinclude2,3,5.Forexample,1,2,3,4,5,6,8,9,10,12isthesequenceofthefirst10uglynumbers.
Notethat1istypicallytreatedasanuglynumber,andndoesnotexceed1690.题意:找第N个丑数。N&l..
分类:
编程语言 时间:
2017-03-11 22:11:22
阅读次数:
190
Findthecontiguoussubarraywithinanarray(containingatleastonenumber)whichhasthelargestsum.
Forexample,giventhearray[-2,1,-3,4,-1,2,1,-5,4],
thecontiguoussubarray[4,-1,2,1]hasthelargestsum=6.题意:求连续子数组的最大和publicclassSolution{
publicintmaxSubArray(i..
分类:
编程语言 时间:
2017-03-11 22:10:41
阅读次数:
138
Java程序通过控制语句来控制方法的执行流程从而实现特定的功能Java中的流程控制结构主要有三种顺序结构选择结构循环结构。三种结构的结合使用可以解决任何复杂问题。分支语句又称条件语句条件语句使部分程序可根据某些表达式的值被有选择地执行。Java编程语言支持双路if和多路s..
分类:
编程语言 时间:
2017-03-11 22:08:48
阅读次数:
234
Designastackthatsupportspush,pop,top,andretrievingtheminimumelementinconstanttime.
push(x)--Pushelementxontostack.
pop()--Removestheelementontopofthestack.
top()--Getthetopelement.
getMin()--Retrievetheminimumelementinthestack.
Example:
MinStackminStack=ne..
分类:
编程语言 时间:
2017-03-11 22:07:02
阅读次数:
235