|
|
1
1
您可以存储一个与键长度相同的向量,其中向量中的每个元素都是键中相应字符的字符集中的索引。
例如,如果
然后,所有操作都将在该整数向量上执行,从而消除了
|
|
|
2
3
与其进行查找,不如使用反向转换数组?数组索引将是字符,数组中的值将是其数值(或索引到另一个数组)。
|
|
|
3
2
您要做的是将密钥视为无符号整数,并将正在分发的“字符串”视为该密钥的基36(a-z+0-9)表示形式。
要转换,请执行与将任何整数转换为十六进制表示法相同的操作,但在模数学中交换36而不是16。我将把这作为练习留给读者。:) |
|
|
4
1
我不确定我是否完全理解您想要做什么,但这里有一个小控制台程序,它使用您的字符集作为数字,以36为基数打印出36*36*36个3位数的键序列。所以它从aaa开始到999结束。
|
|
|
5
0
也许您最好将索引转换为字符集,然后在需要时将它们转换为实际字符? 这样可以节省在字符集中搜索字符的开销。将字符集索引转换为字符将是一个常数时间操作,而不是相反的操作。 将密钥存储为整数0~N-1的向量,其中N是字符集的长度。仅当需要时,即在增量之后,才将这些整数转换为实际字符。 |
|
Ben · 统计向量中的单词在字符串中出现的频率 1 年前 |
|
|
bear_525 · 从列中删除中间名和首字母,并保存在单独的列中 1 年前 |
|
|
asdfadf · 为什么具有相同内存值的字符串和整数打印方式不同? 1 年前 |
|
|
user764754 · 防止多行原始字符串文字中出现新行字符 1 年前 |
|
|
Bogaso · 从列表中返回与模式匹配的元素 1 年前 |
|
|
Jasco · 如何使用VBA提取两个相似字符之间的字符串中的单词? 1 年前 |