感谢阅读!
所以我正在制作一个程序,为你提供可能的字母组合方程的解决方案(如果你不知道那是什么,请继续阅读,这并不重要)。它允许您输入三个单词,两个加起来,一个作为答案,以及您希望分配给每个字符的可能数字范围。然后它应该尝试给你所有可能的字符分配给有效的字母。
好的,如果以上都没有意义,那就不重要了。 所以我有这张地图。
NavigableMap<Character, Integer> myMap = new TreeMap<Character, Integer>();
此地图被分配了一堆独特的字符作为键,一系列数字作为值。例如,假设我有1-5个值的范围。而且我在地图中将字符J O S作为键。我希望地图开始看起来像这样:
[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]
有没有人对最佳方法有任何想法?