上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 34 下一页
  2012年8月16日
摘要: 定义和用法array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。最后生成的数组将会返回。语法array_splice(array,offset,length,array)参数描述array必需。规定数组。offset必需。数值。如果 offset 为正,则从输入数组中该值指定的偏移量开始移除。如果 offset 为负,则从输入数组末尾倒数该值指定的偏移量开始移除。length可选。数值。如果省略该参数,则移除数组中从 offset 到 结尾 阅读全文
posted @ 2012-08-16 21:15 ZimZz 阅读(15023) 评论(0) 推荐(1) 编辑
摘要: 一般直接插入排序的时间复杂度为O ( n^2 ) ,但是当数列基本有序时,如果按照有数列顺序排时,时间复杂度将改善到O( n ) 1 <?php 2 #指定部分数组元素全部向后移动一位 3 function move(Array $arr, $start = null, $end = null) { 4 if(!isset($start) || $start < 0) $start = 0; 5 if(!isset($end) || $end >= count($arr)) $end = count($arr) - 2; #最后只能选到倒数... 阅读全文
posted @ 2012-08-16 21:07 ZimZz 阅读(1963) 评论(0) 推荐(0) 编辑
摘要: <?php function maxMin(Array $arr) { $cmpTime = 0; $count = count($arr); $big = $small = $arr[0]; for($i = 1; $i < $count; $i++) { $cmpTime++; if($big > $arr[$i]) { $cmpTime++; if($small > $arr[$i]) { ... 阅读全文
posted @ 2012-08-16 00:41 ZimZz 阅读(13775) 评论(3) 推荐(1) 编辑
摘要: 可以估计每个文件的大小为5G*64=300G,远大于4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。遍历文件a,对每个url求取hash(url)%1000,然后根据所得值将url分别存储到1000个小文件(设为a0,a1,...a999)当中。这样每个小文件的大小约为300M。遍历文件b,采取和a相同的方法将url分别存储到1000个小文件(b0,b1....b999)中。这样处理后,所有可能相同的url都在对应的小文件(a0 vs b0, a1 vs b1....a999 vsb999)当中,不对应的小文件(比如a0 vs b99)不可能有相同的url。然后我们只要求出1 阅读全文
posted @ 2012-08-16 00:25 ZimZz 阅读(5077) 评论(0) 推荐(0) 编辑
  2012年8月15日
摘要: 一个单词如果交换其所含字母顺序,得到的单词称为兄弟单词,例如mary和army是兄弟单词,即所含字母是一样的,只是字母顺序不同,用户输入一个单词,要求在一个字典中找出该单词的所有兄弟单词,并输出。给出相应的数据结构及算法。要求时间和空间复杂度尽可能低目前思想:struct {char data;int n};根据数学定理:任何一个大于1的自然数N,都可以唯一分解成有限个质数的乘积 N=(P_1^a1)*(P_2^a2)......(P_n^an) , 这里P_1<P_2<...<P_n是质数,且唯一。例如a=2 b=3 c=5 d=7 e=11...f(abcd)=2*3*5 阅读全文
posted @ 2012-08-15 23:13 ZimZz 阅读(2867) 评论(0) 推荐(0) 编辑
摘要: 如果一个数是2的n次方,则化成二进制数肯定是 1000...000 的形式,那么 假设这个数是x,则 x-1 肯定是 0111...111 的形式,位数比x少一位那么 x & (x-1) 则有1000...000 &0111...1110000...000所以当 x & (x-1) = 0时,说明x是2的n次方 阅读全文
posted @ 2012-08-15 23:03 ZimZz 阅读(1735) 评论(0) 推荐(0) 编辑
摘要: 使用两个指针,每次前进一个元素,第一个指针前进到第m+1个元素的时候,第二个指针开始前进,此时第二个指针指向第1个元素,当第一个指针前进到链表尾的时候,第二个指针指向的元素就是倒数第m个元素 阅读全文
posted @ 2012-08-15 21:53 ZimZz 阅读(361) 评论(2) 推荐(0) 编辑
摘要: 判断是否有环和查找中间节点使用两个指针,p1每次前进1个节点,p2每次前进2个节点,如果链表有环,则最后两个指针指向的节点将会重合,若无环,则p2最后将走到链表尾,当p2走到链表尾时,p1指向的节点就是中间节点检测环的入口当p1p2重合以后,让p2回到表头,步长设为1重新开始走,当p1p2再次重合时,重合点即为环入口证明:如图表头到环入口长度为l1,环的长度为l2,环的入口为h点,p2p1第一次重合点为h'点,设hh'长度为l3,则有在第一次重合时p1走过的路程 = l1 + l3p2走过的路程 = l1 + l3 + n * l2 = 2 * (l1+l3)=> l2 阅读全文
posted @ 2012-08-15 21:49 ZimZz 阅读(692) 评论(0) 推荐(0) 编辑
摘要: 最近做一个问题,去除html中代码的JS脚本,代码如下 1 <?php 2 $text = <<<EOF 3 ilove you 4 <scrip></sss> 5 <script> ok </script> 6 kkyz <dd>m,dfd 7 <script> 8 sdfsdf 9 </script>10 <script> no </script>11 ook12 EOF;13 14 echo "orginal text: \n\n" . 阅读全文
posted @ 2012-08-15 16:28 ZimZz 阅读(2602) 评论(0) 推荐(0) 编辑
摘要: 考试系统 阅读全文
posted @ 2012-08-15 13:30 ZimZz 阅读(269) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 34 下一页