このアルゴリズムを見つける

WBOY
リリース: 2016-06-23 14:09:14
オリジナル
1472 人が閲覧しました

たとえば、今配列があります

$array=Array("a",'b','c','d','e','f','g');
ログイン後にコピー

もちろんそれ以外にもあります

出力したい結果は次のとおりです:

a
b
c
d
e
f
g
aa
ab
ac
ad
ae
af
ag
ba
bb
bc
bd
be
bf
bg
ca
cb
cc

…………

gaaaaaaa
がぁぁぁぁぁ
がぁぁぁぁ
がぁぁぁぁ
がぁぁぁぁ

…… ……

以上です これらの文字で構成されるすべての文字列をリストします


ディスカッションへの返信 (解決策)

LZ の質問は少し曖昧なようです。たとえば、文字 a
a はカウントされます。 1 つの aa は 1 つとして数えられるので、aaaaaaaaaaaaaaaaaaaa も 1 つとなります
完了するまでにどのくらい時間がかかりますか?たとえば、アレイがあります。今はアレイがあります。もちろん、それ以上のものがあります

出力したい結果は次のとおりです。 ac

ad
ae
af
ag
ba
bb
bc
bd
be
bf
bg
ca
cb
cc

…………

gaaaaaaa
がぁぁぁぁぁ
がぁぁぁぁ
がぁぁぁぁ
がぁぁぁぁ

… ………

これらの文字で構成できるすべての文字列をリストするだけです

問題ありません、無制限です。 。 。

$array=Array("a",'b','c','d','e','f','g');
for($i=-1; $i foreach($array as $k=>$v){
echo $array[$i].$v."
"; }
これがお役に立てば幸いです~

このプログラムはいつ停止しますか...

問題ありません、無制限です。 。 。

では、いつこのプログラムを停止するのでしょうか...


問題ありません、無制限です。 。 。


電源を抜いたら...

コライダーを作りたいと思います


このプログラムはいつ停止しますか...


問題ありません、無制限に欲しいだけです。 。 。

プラグを抜くと…



虽然楼主需求看上去有些无厘头,但如果设定好终止条件也并非不能实现
在有限个数的前提下,这个算法还是很具挑战性的
我先来的抛砖引玉

$ar = array("a",'b','c');print_r(allot($ar, 4));print_r(allot($ar, 2));function allot($ar, $num) {  static $st = array(); //用于缓存中间结果  $res = array(); //用于承载返回结果  if(! $st) {    $t = $ar;  }else {    $t = array();    foreach($ar as $v) {      $t = array_merge($t, array_map(        function($item, $prefix) {  return $prefix . $item; },        $st, array_fill(0, count($st), $v)));    }  }//  foreach($t as $v) echo $v . PHP_EOL; //直接产生输出  $res = $st = $t;  if($num > 1) $res = array_merge($res, allot($ar, $num-1));  else $st = array(); //初始缓存,以便下一次调用  return $res;}
ログイン後にコピー
Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => aa
    [4] => ab
    [5] => ac
    [6] => ba
    [7] => bb
    [8] => bc
    [9] => ca
    [10] => cb
    [11] => cc
    [12] => aaa
    [13] => aab
    [14] => aac
    [15] => aba
    [16] => abb
    [17] => abc
    [18] => aca
    [19] => acb
    [20] => acc
    [21] => baa
    [22] => bab
    [23] => bac
    [24] => bba
    [25] => bbb
    [26] => bbc
    [27] => bca
    [28] => bcb
    [29] => bcc
    [30] => caa
    [31] => cab
    [32] => cac
    [33] => cba
    [34] => cbb
    [35] => cbc
    [36] => cca
    [37] => ccb
    [38] => ccc
    [39] => aaaa
    [40] => aaab
    [41] => aaac
    [42] => aaba
    [43] => aabb
    [44] => aabc
    [45] => aaca
    [46] => aacb
    [47] => aacc
    [48] => abaa
    [49] => abab
    [50] => abac
    [51] => abba
    [52] => abbb
    [53] => abbc
    [54] => abca
    [55] => abcb
    [56] => abcc
    [57] => acaa
    [58] => acab
    [59] => acac
    [60] => acba
    [61] => acbb
    [62] => acbc
    [63] => acca
    [64] => accb
    [65] => accc
    [66] => baaa
    [67] => baab
    [68] => baac
    [69] => baba
    [70] => babb
    [71] => babc
    [72] => baca
    [73] => bacb
    [74] => bacc
    [75] => bbaa
    [76] => bbab
    [77] => bbac
[78] => bbba
[79] => bbbb
[80] => bbbc
[81] => bbca
[82] => bbcb
[83] => bbcc
[84] => bcaa
[85] => bcab
[86] => bcac
[87] => bcba
[88] => bcbb
[89] => bcbc
[90] => bcca
[91] => bccb
[92] => bccc
[93] => caaa
[94] => タクシー
[95] => caac
[96] => キャバ
[97] => タクシー
[98] => cabc
[99] => カカ
[100] => cacb
[101] => cacc
[102] => cbaa
[103] => cbab
[104] => cbac
[105] => cbba
[106] => cbbb
[107] => cbbc
[108] => cbca
[109] => cbcb
[110] => cbcc
[111] => ccaa
[112] => ccab
[113] => ccac
[114] => ccba
[115] => ccbb
[116] => ccbc
[117] => CCCA
[118] => cccb
[119] => cccc
)
配列
(
[0] => a
[1] => b
[2] => c
[3] => aa [4] =& gt; 腹部 [5

[7]
[8]
[10] > CC
)

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート