把几个数字拆分保存的算法有关问题

WBOY
發布: 2016-06-13 10:50:44
原創
876 人瀏覽過

把几个数字拆分保存的算法问题
假如有五个数字:1,2,3,4,5,要保存到数组中,结果如下:

数组1:2,3,4,5
数组2:1,3,5
数组3:1,2,3,4,5
数组4:1,2,4

一共有4个数组,我的目的是把这5个数字在这四个数组中每个数字都出现3次,这样有一个数组不存在了,从其它数组也能把所有数字取出来。

我不需要代码,只要有思路就行,谢谢各位达人。





------解决方案--------------------
想了一下,你这还不是 raid5.你的这个方案的冗余度要大的多
象这样组织数据的话,可以在丢失任意两组数据的情况下,读出数据。
不过组织方式与你的略有不同

PHP code
$ar = array(  array(0,2,3,4,5),  array(1,0,3,0,5),  array(1,2,3,4,5),  array(1,2,0,4,0),);unset($ar[3]);unset($ar[1]);for($i=0; $i<font color="#e78608">------解决方案--------------------</font><br>
登入後複製
PHP code
<?phpfunction split2Array($n, $repeat = 3){    $result = array();    for($i = 0; $i < $n; $i++)    {        for($j = 0; $j < $repeat; $j++)        {            $result[($i + $j) % ($repeat + 1)][$i] = $i + 1;        }    }    return $result;}print_r(split2Array(7, 4));?><div class="clear">
                 
              
              
        
            </div>
登入後複製
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!