为了账号安全,请及时绑定邮箱和手机立即绑定

求一个满足条件的生成不重复随机串的算法

求一个满足条件的生成不重复随机串的算法

不负相思意 2019-03-14 18:15:11
要求生成数满足/^[A-Z]{2}d{3}$/每次生成又不重复比如生成1000个,1000个都不重复不用数组等去重,好像用算法能直接保证不重呢求解求帮助
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

你可以顺序生成若干个, 然后随机取一个就好


查看完整回答
反对 回复 2019-03-30
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

把要生成的数字看成36进制(26字母+10数字)的五位数,这个五位数满足以下条件:

-范围在AA000-ZZ999
-后面三位都是数字(排除上述区间中后三位为字母的数)

然后把这些数字按照顺序从0开始编号。比如AA000为0、AA001为1等等,假设一共有m个数字。接下来找出数字N与编号n之间的对应关系。

最后,根据需要生成若干个不重复的0-m之间的整数(这个很容易),并根据对应关系将它们转化为5位36进制数。


查看完整回答
反对 回复 2019-03-30
  • 2 回答
  • 0 关注
  • 508 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信