ホームページ > バックエンド開発 > PHPチュートリアル > 類似した単語と異なる単語を含む 2 つの文の単語セグメントを検索します (アルゴリズムのアイデアを求める)

類似した単語と異なる単語を含む 2 つの文の単語セグメントを検索します (アルゴリズムのアイデアを求める)

WBOY
リリース: 2016-06-13 13:05:30
オリジナル
1089 人が閲覧しました

似た単語と異なる単語を含む 2 つの文の単語分割を検索します (アルゴリズムのアイデアを探します)
ステートメント 1 「CSDN フォーラムは非常に良いフォーラムです」
ステートメント 2 「CSDN は良いフォーラムです」

合意を求める 結果は次のとおりです

CSDN=>2
Forum=>2
is a=>2
very=>1
good=> 2
jar=>1

-----解決策------------------------------------- -------

PHP コード
$a = 'CSDN フォーラムは非常に優れたフォーラムです';
$b = 'CSDN は良いフォーラムです';

print_r(日曜日($a, $b));

関数日曜日($a, $b) {
    // 受信文字列の文字セットをチェックします
    mb_internal_encoding( mb_check_encoding($a, 'utf-8') ? 'utf-8' : 'gbk' );
    //主に以下のコードを書きやすくするために、受信文字列を配列に分割します。
    $t = 配列();
    for($i=0; $i<mb_strlen mb_substr for while count if>= count($a)) ブレーク;
                }elseif($k) ブレーク;
            }

            //マッチング状況を確認する
            if($n - $i > 1) {
                if($buf) {
                    $r[] = $buf;
                    $buf = '';
                }
                $r[] = join('',array_slice($a, $i, $n-$i));
                $i = $n;
            }else $buf .= $a[$i++];
        }
        if($buf) $r[] = $buf;

        list($b, $a) = array($a, $b); // 2 つのデータセットを交換して再度実行します。
    }while($loop--);
    array_count_values($r) を返します。
<div class="clear"></div></mb_strlen>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート