美文网首页
编程珠玑1.6随机生成k个小于n并且不重复的整数(Java)

编程珠玑1.6随机生成k个小于n并且不重复的整数(Java)

作者: o尐白 | 来源:发表于2018-04-04 10:34 被阅读0次

近日看编程珠玑,对1.6问题随机生成k个小于n并且不重复的整数的麻烦进行思考。
其中最容易想到的就是维持俩个数组/一个数组一个Map,
在随机时判断是否已存在,但如此效率低O(n^2)且占用内存空间。
好了,描述一下想法:
希望能写一个时间复杂度能在线性阶O(n)且空间复杂度最好是一个简单变量。


image.png

时间复杂度:n+n = 2n,满足O(n)
空间复杂度:n+1

相关文章

网友评论

      本文标题:编程珠玑1.6随机生成k个小于n并且不重复的整数(Java)

      本文链接:https://www.haomeiwen.com/subject/zjxkhftx.html