You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改给定输入数组解题时,空间复杂度是O(n)还是常数级?

空间复杂度判定问题解答

首先给出明确结论:这种情况下空间复杂度仍然属于常数级(O(1)),不会因为修改输入数组被判定为O(n)。

相关判定规则说明:

  • 算法复杂度分析体系里的空间复杂度,统计的是除题目给定的输入数据本身占用空间之外,你实现算法时额外申请的临时存储空间大小,输入数据的空间成本不算在算法的空间开销内。
  • 你提到的仅修改原输入数组、没有额外申请其他空间的实现,属于标准的原地(in-place)算法,这类算法的空间复杂度默认按O(1)判定,是行业通用的统计规则。
  • 只有当你额外申请了和输入规模n成正比的存储空间(比如额外新建了一个长度为n的数组存中间结果),才会被判定为空间复杂度O(n)。

举个常见的参考案例:各算法刷题平台上的「移除元素」「颜色分类」等允许修改输入数组的题目,所有原地修改的题解都会被判定为O(1)空间复杂度。

内容的提问来源于stack exchange,提问作者Lame Things

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 19:36:03