java - 从java中的给定范围生成加拿大邮政编码
问题描述
我一直在寻找一段时间,但没有找到任何解决方案。例如,如果给定范围类似于 [A0A0A0 -A0P1M9] - 它应该给出给定范围内所有可能的有效加拿大邮政编码。TIA。
示例:输入从:A0A0A0 输入到:A0A0A4 输出:A0A0A0,A0A0A1,A0A0A2,A0A0A3,A0A0A4
解决方案
我会根据混合 base-10 和 base-26 系统将可能的字符串代码转换为连续数字,将字符的值乘以位置相关因子:
- 字符 0 由
10*26*10*26*10
- 字符 1 由
26*10*26*10
- 字符 2 由
10*26*10
- 字符 3 由
26*10
- 字符 4 由
10
- 字符 5 由
1
通常,我会将 A..Z 表示为 0..25,只是(为了首先避免缺少 W 和 Z 字符的间隙)我会调整该位置的映射。
然后,我将生成两个转换后的限制之间的所有数字,并使用相反的方案将它们转换回来。
请注意,在最坏的情况下 A0A0A0..Y9Z9Z9 您将获得 1600 万个字符串。
推荐阅读
- css - CSS Multiple:不使用混合选择器类型
- java - 从 sqlite 中的另一个表复制时,表记录被替换
- image - 2sxc 自定义模板显示预览图标或图像
- laravel - 运行 laravel 队列时,SupervisorD 生成过程不断
- c++ - CMake + GoogleTest 在小型库的集合中给出了重新定义错误
- jquery - jQuery add :checked 到一个类
- c++ - 如何在 QTextEdit 中禁用光标?
- typescript - 为什么 audio.pause() 不能使用 TypeScript,但是 audio.play(); 效果很好?
- reactjs - 从生成器函数内部调用函数
- sql-server - 如何在 centos7 主机上使用 docker-compose .yml 将 JBoss 服务器容器与 SQL 服务器一链接?