我想编写一个应该返回整数列表的函数。整数列表大小和最大随机数将由用户定义,用户将通过函数参数传递。我的特殊要求是,列表中的整数不能是多余的。
我的方法使用Array:
func getRandomNumbers(maxNumber: Int, listSize: Int)-> [Int]{
var randomNumbers = [Int]()
for _ in 1...listSize{
let randomNumber = Int(arc4random_uniform(UInt32(listSize)))
randomNumbers.append(randomNumber)
}
return randomNumbers
}
Run Code Online (Sandbox Code Playgroud)
问题:有时我用这种方法得到重复的值。
我知道 swiftSet不具有重复值。
我的方法使用Set:
func getRandomNumbers(maxNumber: Int, listSize: Int)-> Set<Int>{
var randomNumbers = Set<Int>()
for _ in 1...listSize{
let randomNumber = Int(arc4random_uniform(UInt32(listSize)))
randomNumbers.insert(randomNumber)
}
return randomNumbers
}
Run Code Online (Sandbox Code Playgroud)
问题:有时Set尺寸小于用户定义的尺寸。