arrays - 如何在Lua中的表[表中]中查找所有可能的字符连接
问题描述
如何在表 [in a table ] 中找到所有可能的字符连接并将它们显示为带有换行符的字符串?
例如,我有一组带有字符的表:
c={
{'1','2','3'},
{'a','b','c'},
{'A','B','C'}
}
我想找到所有可能的连接,比如
1aA
1aB
1aC
-- second table second character
1bA
1bB
1bC
-- second table third character
1cA
1cB
1cC
-- first table second character
2aA
2aB
2aC
-- and so on...
可能有很多表,但有多少字符。感谢帮助!
编辑:
我在这里找到了答案,
https://forum.cheatengine.org/viewtopic.php?p=5773931#5773931
解决方案
该算法假设每行中总是有相同数量的值,在这种假设下,我们可以说您有(#c[1])^(#c)
值并使用此信息来展平表格。
c = {
{'1','2','3'},
{'a','b','c'},
{'A','B','C'},
}
local columns = #c[1]
local rows = #c
for i = 0, (columns)^(rows) - 1 do
local output = ""
for k, v in ipairs(c) do
output = output .. v[i % ((columns)^k) // ((columns)^(k - 1)) + 1]
end
print(output)
end
输出:
1aA
2aA
3aA
1bA
2bA
3bA
1cA
2cA
3cA
1aB
2aB
3aB
1bB
2bB
3bB
1cB
2cB
3cB
1aC
2aC
3aC
1bC
2bC
3bC
1cC
2cC
3cC
推荐阅读
- python - 如果与搜索值匹配,如何点击搜索引擎结果
- algorithm - 代码的最坏情况和总运行时间?
- reactjs - 有没有人想出如何解决 AG-Grid-Enterprise 对 React 16 的厌恶?
- node.js - 节点缓存不会按预期触发“过期”回调
- python - Pycharm:定位 pipenv 可执行文件
- php - Gmail / Hotmail 未收到排队的 Laravel 邮件
- swift - CollectionView 中的多个单元格 - Swift
- android - Android WebSocket 连接因 426 错误而关闭
- java - Java Servlet 异常
- typescript - Debugging TypeScript AWS CDK application