我正在编写将NFA转换为DFA的代码,如果我们有一个电源状态{1,2,4},我必须将其转换为一些唯一的数字,比如x。另外我必须做反向映射,这样我得到x,我必须将功率状态返回为{1,2,4}
我想出了HashMap的字符串表示集1,2,4并且具有唯一编号的值。但随着代码的增长,我可能有(1,2,4)和(2,1,4)都是相同的集合,但不是相同的字符串。然后我想到了对状态字符串进行排序并将其用作映射键。但似乎我的逻辑很复杂。
答案 0 :(得分:0)
你可以取2的幂数,然后继续添加它以产生唯一的数字。对于反向映射,您可以设置逻辑,因为这个数字将是2的完美幂数的总和。我留给你,因为这是你的功课。
e.g。 (1,2,3)= 2 + 4 + 8 = 14