レポートの統計集計アルゴリズム

  システムデーモンを報告するため、私たちはしばしば、いくつかの問題が発生しました。たとえば、次のデータのそれぞれの合計問題の粒度にしたがってパケット。

  まず、我々は現在のレンジセグメント$配列[[日付、時刻]、...]、時間粒度の$ TimeList [TIME1、TIME2、TIME3 ...]でデータを持っているとき、私たちはデータが欲しい状況を説明しますグループ和、

より効率的なアルゴリズム:

     データ:

1  $配列1 = [
 2      10,20,30,40,50
 3。 ];
 4  $配列2 = [
 5      [1,0]、
 6      [3,4]、
 7      [5,15]、
 8      [7.25] 、
 9      [9、26]、
 10      [15,30]、
 11      [17、35]、
 12      [12,46]、
 13      [3,48]、
 14      [8,50]、
 15  
16  ]; 
 17  
18であり、 アルゴリズム関数:
 19  / * *
 20  *は、SUMデータパケット間隔の粒径との間に得られる
 21であります * @Param $アレイアレイ
 22は、 * @param $ timelistサイズシーケンス
 23である *アレイ@return一次元アレイ
 24   * / 
25  関数$配列$のtimelist ){
 26が     $ LengthArray = COUNT$配列);
 27      $ LengthTimeList = COUNT$のtimelist );
 28      $のRESの = []は、
 29      //が返される配列を初期化する4。
30      用の$ I = 0; $ Iは < $ timelistを$ I ++ ){
31の         $のRES [ $ I ] = 0 ;
32      }
 33      // 分组求和
34      $ I = 0 35      $ jを = 0 ;
36      のために(; $ iは < $ LengthTimeList ; $ iは ++ ){
 37          のために(; $ J < $ LengthArray ; $のJ ++ ){
 38              であれば$ TimeList [ $のJ ] [1]> $配列 [ I $ ]){
 39                  ブレーク40              }
 41         // 要件に応じて設定
42である             $ RES [ $ I ] + = $配列 [ $ J ] [0 ];
 43である         }
 44である     }
 45の     リターン $のRES ;
 46である }
 47  
48注:この資料のみ個人を表します歓迎の批判を指して、考えて。

 

おすすめ

転載: www.cnblogs.com/oldhands/p/11442622.html