把所有的可能存放到一个数组中,程序怎么实现。
可以重复比如aaaa,最好PHP实现的
直接上代码,四个for循环,简单暴力快速
<?php
$dic = "abcdefg";
$list =array();//存放所有结果集
for($i=0;$i<7;$i++)
for($j=0;$j<7;$j++)
for($k=0;$k<7;$k++)
for($l=0;$l<7;$l++){
$list[] = $dic[$i].$dic[$j].$dic[$k].$dic[$l];
}
print_r($list);
function dfs($pre, $chars, $arr, $lenArr) {
if(!empty($pre) && in_array(strlen($pre), $lenArr)){ $arr[] = $pre; }
if(!empty($chars)) {
foreach ($chars as $char) {
$tempChars = array();
foreach ($chars as $c) {
if ($c !== $char) { $tempChars[] = $c; }
}
$arr = $this->dfs($pre.$char, $tempChars, $arr, $lenArr);
}
}
return $arr;
}
function get_combine() {
$chars = array('a', 'b', 'c', 'd', 'e', 'f', 'g');
$combineArray = array();
$combineArray = $this->dfs('', $chars, $combineArray, array(4));
echo count($combineArray).'<br>';
var_dump($combineArray);
}
2 回答1.6k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答993 阅读✓ 已解决
2 回答1.1k 阅读
1 回答937 阅读
1 回答893 阅读
1 回答888 阅读
python
php
可以尝试这个:
http://www.honglei.net/?p=167