python - 运行代码 [Python] 时出现“内存错误” - 时间复杂度
问题描述
我正在尝试编写一个脚本来计算我的数组中差异等于值 K 的“不同”(或唯一)对的数量。例如,假设我有一个列表 [a,a,b,c]。然后我的不同对将是: (a,b) 和 (a,c) 和 (b,c) (如果一对中的至少一个元素不在另一对数字中,则不同是正确的。)
对于差异,例如,我的对 (a,b) 仅在 a+K = b 时才有效。
我编写了以下两个代码,但我不确定第一个代码的时间复杂度,而对于第二个代码,我只是想不出更少占用内存的东西。
谢谢!
第一个:
def count(arr, k):
a = set(arr)
return sum(x+k in a for x in a)
第二:
def pairs(k, arr):
setA = set(arr)
count = 0
for x in list(setA):
if (x-k) in setA:
count = count +1
return (count)
解决方案
推荐阅读
- python - Python shutil.copytree 说它应该复制的目标文件丢失
- reactjs - 语义用户界面反应选择表格单元格不起作用
- vue.js - 使用 vuex 和 vue-router 时未定义的数据
- r - R:动态调整输出pdf大小以绘制函数内的区域
- reactjs - 通过 electron 调用 watson 的创建分类器 API
- google-cloud-bigtable - opentsdb 查询响应中返回的标签值为“node”是什么意思?
- javascript - 使用量角器关闭窗口弹出窗口
- java - 您如何确定何时在运行时调用接口方法?
- ruby - 红宝石斐波那契
- python - 生成用户/项目交互