我有一个完全填充的值数组,我想从这个数组中任意删除元素,并在远端删除更多元素。
例如,给定输入(其中 . 表示填充索引)
............................................
我想要类似的东西
....... . ... .. . . .. . .
我的第一个想法是计算元素,然后遍历数组,在当前索引和数组总大小之间生成一个随机数,例如:
if ( mt_rand( 0, $total ) > $total - $current_index )
//remove this element
但是,由于这需要在每次循环循环时生成一个随机数,因此变得非常困难。
有没有更好的方法来做到这一点?