概述
标题有点饶。相输出如下结果:
nn:[3, 5, 8, 4, 7, 2, 0, 1, 6]
findnum(nn):9
数组nn有9个元素,0到9之间,9不在数组nn中
======================
nn:[5, 7, 1, 8, 4, 9, 0, 6, 3]
findnum(nn):2
数组nn有9个元素,0到9之间,2不在数组nn中
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
}
转载于:https://my.oschina.net/u/3820046/blog/3100969
最后
以上就是老迟到人生为你收集整理的生成包含n个不重复整数的数组,并在0到n之间找出不包含在该数组内的那个数...的全部内容,希望文章能够帮你解决生成包含n个不重复整数的数组,并在0到n之间找出不包含在该数组内的那个数...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复