擅长:python、mysql、java
<p>考虑这样的情况:有两个字符串,每个字符串的长度为4。想象一下四个面具的长度。每个可能的位掩码都应该对应于一个字符串中的有效选择。在</p>
<p>鉴于:</p>
<pre><code>ABCD
zyxw
</code></pre>
<p>结果如下:</p>
^{pr2}$
<p>为了推广,考虑n-字符串生成以n为底的所有数字,直到这些字符串长度的顺序。(不确定如何处理非统一的字符串长度;但原理是相同的,即使您添加了某种从结果中筛选出来的“NULL”填充;类似于我们从常规十进制数表示中过滤前导零的方式)。在</p>
<p>我现在没有时间为此编写代码。但方法是将每个字符串映射到一个符号(数字或字符),并根据数字字符串及其长度在整数范围内进行迭代。例如,两个8个字符的字符串是2<strong>8(256),而三个7个字符的字符串则是3</strong>7(2187),依此类推。在</p>
<p>将每个整数转换为其在基中的表示形式,并查找映射,从存储在该键的值(字符串)中提取该位置的字符。这和你把整数转换成任意基数的方法是一样的,取模n并移动到零。在</p>