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

发布于 2022-09-07 04:08:40 字数 99 浏览 16 评论 0

要求生成数满足/^[A-Z]{2}d{3}$/
每次生成又不重复
比如生成1000个,1000个都不重复
不用数组等去重,好像用算法能直接保证不重呢
求解求帮助

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

权谋诡计 2022-09-14 04:08:40

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

心的位置 2022-09-14 04:08:40

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

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

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文