c++ - C++,用n个元素替换第i个元素(低复杂度)
问题描述
假设有两个向量:
std::vector<int> v1{1, 10, 18, 41, 6};
std::vector<int> v2{-12, 107, 14, -3, 5};
如何用 v2 替换 v1 的第 i 个元素?例如
v1[2]<-v2
导致
v1={1, 10, -12, 107, 14, -3, 5 , 41, 6}
简单的解决方案是:
v1[2] = v2[0]
v1.insert(v1.begin() + 3, v2.begin() + 1, v2.end())
有没有更快(时间复杂度更低)的方法?是否可以将这些操作作为单个语句执行?
谢谢你的帮助。
解决方案
推荐阅读
- mongodb - 我们如何在同一台机器上设置 2 个 MongoDB 实例
- c# - “调用线程无法访问此对象,因为不同的线程拥有它”在 C# winforms 中使用 LiveCharts 绘图库时出错
- python - CS50 FINANCE 'FileSystemSession' 对象不可调用
- apache-camel - 模拟在骆驼测试中执行的中间路线的主体
- android - LiveData Observer 在不需要时触发
- javascript - 如何使用对象(仅限对象数组)来响应 API 作为另一个期望对象数组的 API 的输入?
- flutter - 如何使用内部语音进行屏幕录制并将该视频保存在移动存储中?
- postgresql - Postgresql LEFT OUTER JOIN 和性能
- python - 使用python更改具有大量缩进的yaml文件中的特定值
- flutter - 在 Dart/Flutter 中使用 StreamSubscription 作为 Future