加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 生成大小为X的随机数的算法

发布时间:2020-12-14 16:36:16 所属栏目:Java 来源:网络整理
导读:在我的移动应用程序中,我必须为用户提供一个随机唯一的X字母数字代码,以便用户可以用该字母数字代码来回复以执行一些任务. 使用此应用程序的用户数量约为100万人,邮件流量约为每天10万条. 我只能使用26个大写字母,26个小写字母和10个数字.如果随机数字大小为
在我的移动应用程序中,我必须为用户提供一个随机唯一的X字母数字代码,以便用户可以用该字母数字代码来回复以执行一些任务.

使用此应用程序的用户数量约为100万人,邮件流量约为每天10万条.

我只能使用26个大写字母,26个小写字母和10个数字.如果随机数字大小为5,那么我可以生成916132832独特的组合.组合结束后,我想再次回收这个数字代码.

我正在寻找一种算法方法.是否有任何算法方法来解决这个问题?

解决方法

如果您接受回收的随机数字,为什么要在回收之前等待组合的耗尽?

>当组合集合结束时,这使数字越来越少随机
>这将强制您维护一些数据库,以了解哪些数字已被使用,哪些数字尚未使用.

我只会生成随机数字,如果已经使用它们,则不用关心.

如果你真的想要像你问的那样保持它,那么你可以这样做:

>生成所有组合并将它们放入数据库表中
>将此表的大小存储在某个变量中
>生成一个随机数R在1和表的大小之间
>获取存储在表的第R行的组合
>从表中删除第R行,并减小大小变量
>当表为空(并且大小变量为0)时,再次启动

您可以通过将已使用的数字从一个表移动到另一个表来改善它,并在第一个表为空时使用第二个表而不是第一个表.

你也可以在记忆中做,如果你有足够的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读