我是靠谱客的博主 老迟到人生,最近开发中收集的这篇文章主要介绍生成包含n个不重复整数的数组,并在0到n之间找出不包含在该数组内的那个数...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

标题有点饶。相输出如下结果:

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之间找出不包含在该数组内的那个数...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部