python - 有没有办法添加两个具有恒定时间复杂度的列表或数组的元素?
问题描述
我正在尝试在时间复杂度 O(1) 的 python 中添加两个列表的元素。有什么办法可以实现吗?
我已经尝试过使用 numpy 来解决这个问题,但效果不佳。
import numpy as np
st = 0
n = int(input())
end = n
l = np.array([0]*n)
l1 = np.array([1]*n)
l[st:end]+=l1[st:end]
解决方案
不,如果你有数百万个数字,你将不得不执行数百万个加法。没有办法在恒定时间内实现这一点(O(1))。
推荐阅读
- angular - Wed Apr 08 2020 00:00:00 GMT+0530 (India Standard Time), how to get a time using mat date picker in angular
- reactjs - 在 Popover 中引用 null
- javascript - 在发送 Ajax 请求之前更改光标以等待
- java - Android:下载文件 octet-stream 网络视图
- javascript - 从 Vue.JS 方法中导入 JSON 文件 - Electron
- jquery - Laravel - 如何获取 Laravel 更改的两个日期之间的差异并将结果加载到文本框中
- python - 显示 FITS 文件内容
- c - GtkFileChooserDialog 上的 gtk_widget_destroy 导致分段错误
- python - 为什么我在 Tensorflow 中的逻辑回归分类器没有学习?
- javascript - 如何使用 Jest 测试处理来自外部变量的数据的函数