Chinaunix首页 | 论坛 | 博客
  • 博客访问: 400581
  • 博文数量: 87
  • 博客积分: 2571
  • 博客等级: 少校
  • 技术积分: 920
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-29 13:10
文章分类

全部博文(87)

文章存档

2012年(49)

2011年(7)

2010年(26)

2009年(5)

分类: Python/Ruby

2011-11-03 18:30:47

  1. /*
  2.      将
  3.         $relationArr = array(
  4.             3=>array(1,3),
  5.             5=>array(3,5),
  6.             7=>array(6,7),
  7.             10=>array(9,10),    
  8.             23=>array(20,23),    
  9.             700=>array(5,700),
  10.             1203=>array(10,1203),
  11.         );
  12.      转化成

  13.         $finalArr = array(
  14.             3=>array(1,3,5,700),
  15.             7=>array(6,7),
  16.             10=>array(9,10,1203),
  17.             23=>array(20,23),
  18.         );

  19.      复杂度O(n^2),关系链越长,越趋近O(n)
  20.     n 为 $relationArr 数组元素数量

  21. */

  22.         $finalArr = array();
  23.         foreach($relationArr as $k => $v)
  24.         {
  25.             if(empty($finalArr))
  26.             {//first element in $finalArr
  27.                 $finalArr[$k] = $v;
  28.                 continue;
  29.             }
  30.             
  31.             $bIsFind = false;
  32.             foreach($finalArr as $k1 => $v1)
  33.             {
  34.                 $index = count($v1) - 1;
  35.                 if( $v1[$index] == $v[0] )
  36.                 {//match
  37.                     $finalArr[$k1][1+$index] = $v[1];
  38.                     $bIsFind = true;
  39.                     break;
  40.                 }
  41.             }
  42.             
  43.             if(!$bIsFind)
  44.             {//new first-failed flow Instance
  45.                 $finalArr[$k] = $v;
  46.             }
  47.         }
阅读(1267) | 评论(0) | 转发(0) |
0

上一篇:zookeeper入门

下一篇:【笔记】haproxy

给主人留下些什么吧!~~