python - 如何设计一个蛮力算法分组细胞?Python
问题描述
我必须找到一种方法将数组 X[ ] 和 Y[ ] 的单元格分组为具有相同字符的对。其中 X[] 具有随机排序的字符,为什么具有完全相同的 n 个字符。
这是我制作的代码
x = ["O", "L", "M", "S", "N", "J", "P", "T", "I", "R", "H", "G"]
y = ["S", "N", "H", "P", "T", "I", "O", "R", "L", "M", "G", "J"]
for i,char in enumerate(x):
print(f"x[{i}] == y[{y.index(char)}]")
没什么大不了的,问题是我必须使用蛮力方法,设计一个算法来解决问题,然后制作一个更有效的算法,所以这是一种蛮力方法,我需要做一个更有效的方法吗?算法,或者这不是一种蛮力方法,我需要做一个?
解决方案
你的方法是蛮力。
为了更有效的方法,您需要使用字典。
list.index
必须按顺序检查所有元素,如果Y
很大,这将很慢,而字典内部是一个哈希表,并且字典中的查找需要恒定数量的操作(摊销),无论其大小如何。
# Same approach using a dictionary
x = ["O", "L", "M", "S", "N", "J", "P", "T", "I", "R", "H", "G"]
y = ["S", "N", "H", "P", "T", "I", "O", "R", "L", "M", "G", "J"]
d = {}
for i,char in enumerate(y):
d[char] = i
for i,char in enumerate(x):
print(f"x[{i}] == y[{d[char]}]")
PS你的问题看起来像一个家庭作业问题。请阅读这封关于使用 Stack Overflow 解决家庭作业问题的公开信。
推荐阅读
- nuxt.js - 在 Nuxt 中使用附加数据将 var 注入到手写笔
- android - 使用 afe_pcm_tx 和 afe_pcm_rx 的语音呼叫 afe-proxy 有间歇性声音
- amazon-web-services - AWS 网络负载均衡器 SSL 直通
- python - 在 jupyter 中嵌入图像并使用 nbconvert 将其导出为 PDF 时出错
- ruby-on-rails - 按参数过滤(降序) - 在 Rails 中?
- capybara - 我想使用 Capybara 实现 OTP 自动化。任何建议都是非常值得赞赏的
- python - 如何在 py2neo (Neo4J & Python) 中返回节点 ID
- c# - 如何从双联体中获取每个源和目标?
- sql - 如何在同一个表中为每个 Id 插入 10 行
- typescript - ngModel1 无法获取