システムデーモンを報告するため、私たちはしばしば、いくつかの問題が発生しました。たとえば、次のデータのそれぞれの合計問題の粒度にしたがってパケット。
まず、我々は現在のレンジセグメント$配列[[日付、時刻]、...]、時間粒度の$ 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注:この資料のみ個人を表します歓迎の批判を指して、考えて。