映射周期值(java)

映射周期值(java),java,algorithm,dictionary,recursion,functional-programming,Java,Algorithm,Dictionary,Recursion,Functional Programming,谢谢你的阅读 所以我正在制作一个程序,为你们提供可能的字母方程的解(如果你们不知道这是什么,请继续阅读,这没什么大不了的)。它允许您输入三个单词,两个加起来,一个作为答案,以及您希望分配给每个字符的可能数字范围。然后,它应该尝试给你所有可能的字符分配给有效的字母 好吧,如果以上这些都没有意义,那就不重要了。 我有这张地图 NavigableMap<Character, Integer> myMap = new TreeMap<Character, Integer>();

谢谢你的阅读

所以我正在制作一个程序,为你们提供可能的字母方程的解(如果你们不知道这是什么,请继续阅读,这没什么大不了的)。它允许您输入三个单词,两个加起来,一个作为答案,以及您希望分配给每个字符的可能数字范围。然后,它应该尝试给你所有可能的字符分配给有效的字母

好吧,如果以上这些都没有意义,那就不重要了。 我有这张地图

NavigableMap<Character, Integer> myMap = new TreeMap<Character, Integer>();
NavigableMap myMap=newtreemap();
这张地图被分配了一组独特的字符作为键,一系列的数字作为值。例如,假设我的值范围为1-5。我在地图上找到了钥匙。我想让地图看起来像这样:

[J=1,O=2,S=3]

然后,我将使用这些映射的值来测试某些东西(如果我的字母方程式有效),然后我将继续下一个键值赋值

[J=1,O=2,S=4]

同样,我希望程序进行测试,然后再次循环

[J=1,O=2,S=5]

再三

[J=1,O=3,S=2]

[J=1,O=3,S=4]

[J=1,O=3,S=5]

[J=1,O=4,S=2]

[J=1,O=4,S=3]

[J=1,O=4,S=5]

[J=1,O=5,S=2]

[J=1,O=5,S=3]

[J=1,O=5,S=4]

[J=2,O=1,S=3]

[J=2,O=1,S=4]

[J=2,O=1,S=5]

[J=2,O=3,S=1]

[J=2,O=3,S=4]

[J=2,O=3,S=5]

等等,直到我得到了唯一映射的所有可能组合,我最终得到:

[J=5,O=4,S=3]


有没有人对处理这个问题的最佳方法有什么想法?

提示:如果有
m
字符和
n
整数可供选择,您能将其简化为
m-1
字符和
n-1
整数吗?您如何处理1个字符和
n-m-1
整数?提示:如果有
m
字符和
n
整数可供选择,您能否将其简化为
m-1
字符和
n-1
整数?您如何处理1个字符和
n-m-1
整数?