摘要: 给定一个整数的集合S, 有一个整数x,判断S中是否有两个数相加等于x.解法1《算法导论》解题步骤:1. 对数组S进行归并排序。2. 构造数组S’={z : z=x-y, y∈S},并排序。由于S已经有序,构造与排序可一并完成。3. 删除S中重复的元素使仅保留一个,对S’进行同样的操作。4. 合并S和S’,并保证合并后有序,这里可以使用归并排序的思想。5. 如果在合并后的数组中存在连续两个相同的元素,并且这种元素的个数大于1,那么有解。设想在合并后的数组中存在连续两个w,则w分别属于S和S’,那么S中存在y使得w=x-y,即x=y+w。因此,S中元素w和y的和为x。步骤1的运行时间为Θ(n lg 阅读全文
posted @ 2011-09-01 21:11 freewater 阅读(2702) 评论(4) 推荐(0) 编辑
摘要: Fedora Linux由于开发者的问题,导致Sun的JVM在它上面安装和配置都非常困难。这里谈论的和下面安装的Sun的JVM(以及JDK)都是指官方的实现版本,不是其他的参考实现。在这里我会教你如何在5分钟或者更少的时间内比较简单地在Fedora Linux 6或7上面安装JDK 6或者Java SE 6。下面是详细步骤:1. 做为root用户登录 2. 首先你要在这里下载JDK 6或者Java SE 6。下载工作在图形浏览器比如Firefox、Internet Explorer或者Safari里面都很正常。可是Sun使得Linux控制台(象那些试图安装在他们特定web服务器)用户从java 阅读全文
posted @ 2011-09-01 19:36 freewater 阅读(402) 评论(0) 推荐(0) 编辑