作者kazumi6533 (patrick)
看板Prob_Solve
標題[問題] 請問如何將一串數列分割成不同大小的子數列?
時間Wed Sep 26 09:27:53 2007
請問板上各位高手
我有一串數列(假設1000個數)想要做以下的事
1000個數的順序是固定的(不是從大到小,隨機排列的)
1.然後我想要先找出最大值跟最小值
2.從最大值跟最小值的中間(ex.最大值在第201個位置,最小值在第405個位置)
隨機找一個值(即介於編號201到編號405間的那幾個數字挑一個)
3.把那個值加減一個隨機值
4.以那個值的位置為基準將數列切成兩個子數列(即在他之前跟在他之後)
5.每一個子數列重覆上面四個步驟
6.以此類推,如果重覆k次的話最後應該會切成2^k 個子數列
前面3個步驟我想我應該會做,第四個步驟我本來是想用一個陣列存每一個被
選到的值的編號,然後就以編號為準切開...可是第一次應該會有一個切點
第二次則會有兩個,第三次4個...以此類推
想到這裡我的頭腦已經打結...不知道要怎麼寫迴圈了
能不能請板上的各位指點一下。....orz..
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.56.194.52
1F:推 ferng1021:寫成遞迴吧~ 09/26 10:22