标题有点饶。相输出以下结果:java
nn:[3, 5, 8, 4, 7, 2, 0, 1, 6]
findnum(nn):9数组
数组nn有9个元素,0到9之间,9不在数组nn中dom
======================code
nn:[5, 7, 1, 8, 4, 9, 0, 6, 3]
findnum(nn):2class
数组nn有9个元素,0到9之间,2不在数组nn中import
import java.util.Random fun main(){ val n=9 val nn=random1(n) println(nn.toList()) println(findnum(nn)) } fun findnum(n: IntArray): Int { (0..n.size).forEach { j -> if (j in n) {} else{return j} } return -1 //若是返回-1,则会形成imageViews数组越界 } //生成nn个不重复的逆序数为偶数的数字 fun random1(nn: Int): IntArray { var ran = IntArray(nn) while (!iso(ran)) { ran = random_num(nn) } return ran } //生成nn个不重复数 fun random_num(nn: Int): IntArray { val r = IntArray(nn) val random = Random() var i = 0 while (i < nn) { r[i] = random.nextInt(nn+1) for (j in 0 until i) { while (r[i] == r[j]) { i-- break } } ++i } return r } //判断逆序数是否为偶数 fun iso(num: IntArray): Boolean { var sum = 0 val t = num.size (0..t - 2).forEach { i-> (i until t).forEach {j-> if (num[i] > num[j]) { sum++ } } } return sum % 2 == 0 && sum != 0 }