摘要: 基本思想:一次比较两个数组中元素的大小,将较小元素赋值给新元素private static int[] merge(int[] a, int[] b) { int[]c=new int[a.length+b.length]; int i=0,j=0,n=0; while (i<a.length&&j<b.length) { if (a[i]<b[j]) {//a中元素小,则将其赋值给c c[n++]=a[i++]; } else {//反之将b中元素赋值给c c[n++]=b[j++]; } }//a中还有未赋值的元素 while (i<a.length 阅读全文
posted @ 2014-03-30 20:17 狂奔蚂蚁 阅读(135) 评论(0) 推荐(0) 编辑
摘要: apache服务安装成功后,主要的目录结构如下: |-- bin 程序命令目录[apache执行文件的目录如apachectl,htpassed] |-- build |-- cgi-bin 预设给一些CGI网页程序存放的目录 |-- conf 配置文件目录 |-- error ... 阅读全文
posted @ 2014-03-30 20:01 狂奔蚂蚁 阅读(897) 评论(0) 推荐(0) 编辑
摘要: 1、搭建静态网站是,我们只需要搭建apache服务即可满足要求。例如:如果我再客户端游览器输入地址,他会找到192.168.1.100这个服务器,然后根据端口会找到apache服务器。apache他会把它某个目录下的index.html里的代码通过URL地址在返回给客户端的游览器,然后游览器就会根据返回的代码解析成我们看到的网页内容。这是我们访问网页代码的情况。2、但是,如果我们访问的是非.html文件呢,apache也会尝试把这个文件打开,把里面的代码全部在返回给客户端,所以前台就会把这个文件代码全部显示出来(客户端能解析),或者出现一个下载这个文件的情况。(客户端不能解析)PS:系统已安装 阅读全文
posted @ 2014-03-30 17:32 狂奔蚂蚁 阅读(694) 评论(0) 推荐(0) 编辑
摘要: //*------------------------------------- 解释下: 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5, 那么最大的子数组为3, 10, -4, 7, 2, 因此输出为该子数组的和18。 所有的东西都在以下俩行, 即: b : 0 1 -1 3 13 9 16 18 13 sum: 0 1 1 3 13 13 16 18 18 其实算法很简单,当前面的几个数,加起来后,bsum,则更新sum=b; 若b max) { max = sum; System.out.print... 阅读全文
posted @ 2014-03-28 21:53 狂奔蚂蚁 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 思想比较简单:1、选定一个元素,作为出现次数超过一半的元素a,计次数i为12、依次与后续元素比较,若存在相等元素则i+1,反之i-13、若i==0,令当前元素为a,重复步骤1private static int halfNumber(int[] array) { if (array == null || array.length == 0) { return 0; } int element = 0, times = 0; for (int i = 0; i < array.length; i++) { if (times == 0) { times++; elem... 阅读全文
posted @ 2014-03-28 19:48 狂奔蚂蚁 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 约瑟夫环运作如下:1、一群人围在一起坐成环状(如:N)2、从某个编号开始报数(如:K)3、数到某个数(如:M)的时候,此人出列,下一个人重新报数4、一直循环,直到所有人出列,约瑟夫环结束关于约瑟夫环问题的变形:N个数字(0,1...N)形成一个圈,从0开始一次删除圆圈中的第M个数字,求最后剩下的数字思想:无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间复杂度高达O(nm),当n,m非常大(例如上百万,上千万)的时候,几乎是没有办法在短时间内出结果的。我们注意到原问题仅仅是要求出最后的胜利者的序号,而不是要读者模拟整个过程。因此如果要追求效率,就要 阅读全文
posted @ 2014-03-28 19:44 狂奔蚂蚁 阅读(420) 评论(0) 推荐(0) 编辑
摘要: linux下find与grep管道命令的组合使用:一、使用find与grep1. 查找所有".h"文件(非组合命令)find /PATH -name "*.h"2. 查找所有".h"文件中的含有"helloworld"字符串的文件(组合命令)find/PATH -name "*.h" -exec grep -in "helloworld" {} \;find /PATH -name "*.h" | xargs grep -in "hellowor 阅读全文
posted @ 2014-03-24 10:19 狂奔蚂蚁 阅读(20620) 评论(0) 推荐(2) 编辑
摘要: find命令find命令的一般形式find命令的常用选项及实例find与xargsgrep命令grep命令的一般形式grep正则表达式元字符集(基本集)grep命令的常用选项及实例1、find命令find命令是linux中最有用的命令之一。用于:在一个目录(及子目录)中搜索文件,你可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找文件。下面就通过实例来体验下find命令的强大。1.1、find命令的一般形式find命令的一般形式为:find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]path:fin 阅读全文
posted @ 2014-03-24 10:13 狂奔蚂蚁 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 一种思路是如果一个整数不为0,那么这个整数至少有一位是1(二进制表示)。如果我们把这个整数减去1,那么原来处在整数最右边的1就会变成0,原来在1后面的所有的0都会变成1。其余的所有位将不受到影响。举个例子:一个二进制数1100,从右边数起的第三位是处于最右边的一个1。减去1后,第三位变成0,它后面的两位0变成1,而前面的1保持不变,因此得到结果是1011。我们发现减1的结果是把从最右边一个1开始的所有位都取反了。这个时候如果我们再把原来的整数和减去1之后的结果做与运算,从原来整数最右边一个1那一位开始所有位都会变成0。如1100&1011=1000。也就是说,把一个整数减去1,再和原整 阅读全文
posted @ 2014-03-22 20:50 狂奔蚂蚁 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 提供二分查找的两种实现方式:循环与递归 阅读全文
posted @ 2014-03-22 20:42 狂奔蚂蚁 阅读(224) 评论(0) 推荐(0) 编辑