【问题】
在狄更斯时代,商人们用砝码和天平来称量商品的重量,如果你只有几个砝码,就只能精确地称出一定的重量。例如,假定只有两个砝码:分别中1kg和3kg,只用1kg的砝码可以称出1kg重量的商品,只用3kg的砝码可以称出3kg重量的商品。1kg和3kg的砝码放在天平同一边可以称出4kg重量的商品,放在不同边可以称出2kg重量的商品。因此利用这两个砝码,我们可以称出重量分别为1、2、3、4kg的商...
分类:
其他好文 时间:
2014-05-18 18:46:16
阅读次数:
227
设计模式中,真的有的长的很像的,甚至我们能从其中一个的类图直接演变为另一种类图。快,现在让我们来看看那些我们认识的姊妹图。
第一组:模板方法PK 建造者模式PK 工厂方法
模板方法 建造者模式 工厂方法
三者比较:相同点,主要思想都是定义一个框架,然后将一些步骤延迟到子类。
不同点,首先,模板方法模式是行为型模式,而建造者模式工厂方法都是创建型模式。
两两比较:模板VS 建造者
建造者模式用到模板方法,他们两个的使用范围区分就看构建的算法是否需要另外创建一个类。
而承担这...
分类:
其他好文 时间:
2014-05-18 18:30:27
阅读次数:
307
当我们要完成在某一细节层次上一致的一个过程或一系列步骤,但在其个别步骤的一个更详细层次上实现不同时,可以考虑使用模板方法模式。
模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变算法的结构即可重定义算法的某些特定步骤。
AbstractClass是一个抽象类,其实就是一个抽象模板,定义并实现了一个模板方法,这个模板方法一般一个具...
分类:
其他好文 时间:
2014-05-18 15:55:36
阅读次数:
263
Problem Description
已知一个圆的圆周被N个点分成了N段等长圆弧,求任意取三个点,组成锐角三角形的个数。
Input
多组数据,每组数据一个N(N
Output
对于每组数据,输出不同锐角三角形的个数。
Sample Input
3
4
5
Sample Output
1
0
5
分析:当3个点组成锐角三角形A...
分类:
其他好文 时间:
2014-05-18 14:51:50
阅读次数:
220
之前在coolshell上看到一篇关于codeReview的文章: http://coolshell.cn/articles/11432.html。
?接着实际工作当中实践了一把,有些感触,便向团队发了一封分享邮件,具体如下:
1.因为视角不同,时常能从代码层面发现bug。
2.知识共享:
从别人的代码那学习到设计思想,一些工具的运用,比如说项目培强引入的eventBus, 联系人、短信功能都抽象出DAOBase
...
分类:
其他好文 时间:
2014-05-18 13:28:41
阅读次数:
258
题目:
链接:点击打开链接
题意:
武汉大学有很多漂亮的妹纸,,,,,,,他们有一块待剪的布,他们想把它剪成很多小块做围巾,每个人喜欢不同的风格,他们把每一块的价值写在了纸上,现在有一个机器,可以把一块布剪成两块矩形的布,要求你用这台机器把原始的大布剪成纸上出现的小布,他们希望的到小块布的价值最大,当然不要求用完所有的布。。
思路:
首先它是一个背包问题:1>大布...
分类:
其他好文 时间:
2014-05-18 09:30:17
阅读次数:
267
学习设计模式已经有段时间了,初接触设计模式,尽管例子简单、生动,但还是感觉很是抽象。今天又学习了设计模式中的装饰模式,它最大的特点就是把所有需要的功能都按正确的顺序串联起来进行控制。这里需要强调的是“顺序”,也就是说这种装饰是建立在一定的顺序之上的,而且这种顺序是由人为控制的;不同于建造者模式,它的顺序是固定不变的。
**概念
动态地给一个对象添加一些额外的职责,就增加的功能来说,装饰...
分类:
其他好文 时间:
2014-05-18 09:28:12
阅读次数:
191
对于算法,自己掌握的还是不多。而且我发现对于一个算法的理解很重要,或许你会发现你貌似会用某总算法可是,他一旦变形,自己就无从下手。
还有就是对于算法,最好每次都自己敲,这样不仅能增加对于算法的熟度,还能增加自己的理解。每次敲,都有不同的体会吧。
假如自己平时不自己实现算法。会发现比赛是自己有思路却不敢去敲。
对于算法学习,已经有一段时间了吧,但是好像提高并不明显,自己并没有一直坚持。、
...
分类:
其他好文 时间:
2014-05-18 07:39:29
阅读次数:
201
1也可以记录状态信息,与cookie不同,cookie是记录在客户端的,session是记录在服务器端的。
2session是服务器哦开辟的一块内存,session是与浏览器(或子窗口)关联在一起的,其他浏览器访问不了。
3原理:在第一次访问服务器的时候,服务器会创建一个SessionID,会在服务器的Session内存里保存SessionID,然
后把这个SessionID通过respon...
分类:
编程语言 时间:
2014-05-18 05:47:37
阅读次数:
371
引言
假如在后台运行一个可执行程序./a.out,如果想终止该程序,通常会按下Ctrl-C,从而产生一个中断,其实这个过程的实现就是通过信号完成的。信号是软件中断,它提供了一种处理异步事件的方法。
(一)
每个信号都有一个名字,这些名字都以三个字符SIG开头。例如SIGALARM是闹钟信号,当由alarm函数设置的计时器超时后产生此信号。Linux除支持31种不同信号外,还支持应用程序额外定...
分类:
系统相关 时间:
2014-05-18 04:50:12
阅读次数:
347