国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

python - php查找演算法
phpcn_u1582
phpcn_u1582 2017-05-16 13:02:53
0
3
533

一個檔案有30w條資料!每行一個資料

同行詞!例如post stop tops這樣的是同行詞
你用什麼辦法把裡面的所有這樣數(shù)據(jù)找出來

求個思想

phpcn_u1582
phpcn_u1582

全部回覆(3)
phpcn_u1582

使用linux指令來完成需求。例

統(tǒng)計文件夾下包含Action( 數(shù)量
grep Action\( ~/www/pms/app/app/controllers/*.php | wc -l
PHPzhong

我的建議是寫一個特別的排序演算法,然後用usort來排序,這樣同儕詞都排在一起了,然後依序輸出

排序演算法大致的邏輯是

int cmp($left, $right) {
   //如果長度都不一致,直接放棄
   if(strlen($left) != strlen($right))
       return strcmp($left, $right);
   //長度一致的,按照字符切分,統(tǒng)計,判斷是否一致
   $arrleft = str_split($left);
   $arrright = str_split($right);
   $leftstat = array();
   $rightstat = array();
   foreach($arrleft as $char) {
        if(array_key_exists($char, $leftstat))
            $leftstat[$char]++;
        else
            $leftstat[$char]=0;
   }
   foreach($arrright as $char) {
        //邏輯類似
   }
   //比較兩個數(shù)組的統(tǒng)計是否一致
   if(count(array_diff_assoc($leftstat, $rightstat)) == 0)
       return 0;
   else
       return strcmp($left, $right);
}

1、排序30w行的數(shù)據(jù),使用usort + 上面cmp函數(shù)

2、從第2行到尾遍歷排序的數(shù)據(jù),判斷本行和上一行是否一致,是:輸出,不是,向下走。

大概吧。隨手寫的

Ty80

雷雷

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板