[問題] 請問如何將一串數列分割成不同大小的子數列?

看板Prob_Solve (計算數學 Problem Solving)作者 (patrick)時間17年前 (2007/09/26 09:27), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
請問板上各位高手 我有一串數列(假設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

09/26 10:22, , 1F
寫成遞迴吧~
09/26 10:22, 1F
文章代碼(AID): #16-RMQ6m (Prob_Solve)
文章代碼(AID): #16-RMQ6m (Prob_Solve)