作者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