【发布时间】:2020-11-30 21:12:01
【问题描述】:
我有两个长度相同的数组
import scala.util.Random
val length = 10
val x = 60 // Selection percentage
val rnd = new Random
var arrayOne = Array.fill(length)(rnd .nextInt(100))
arrayOne: Array[Int] = Array(8, 77, 11, 19, 17, 73, 5, 18, 45, 69)
val arrayTwo = Array.fill(length)(rnd .nextInt(100))
arrayTwo: Array[Int] = Array(96, 21, 85, 70, 28, 5, 31, 56, 27, 76)
我可以从 arrayTwo 中选择前 x 个百分比的元素,这些选择的元素可以通过以下方式替换 arrayOne 的前 x 个百分比的元素。
arrayOne = arrayTwo.take((length * x / 100).toInt) ++ arrayOne.drop((length * x / 100).toInt)
arrayOne: Array[Int] = Array(96, 21, 85, 70, 28, 5, 5, 18, 45, 69)
现在我想从 arrayTwo 中选择随机 x 百分比的元素,并且选择的元素将替换 arrayOne 的随机 x 百分比元素。我该怎么做?
【问题讨论】:
标签: arrays scala functional-programming scala-collections