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

下述循环算法的运行时间复杂度是多少?是否为O(n)?

时间复杂度结论

你给出的这段算法的时间复杂度确实是O(n)。

推导依据

  • 整个算法执行过程中,索引变量i始终单调递增,不存在回退逻辑。末尾的i--会抵消外层for循环下一次迭代开头的i++,不会出现重复访问已经遍历过的元素的情况。
  • 无论是外层for循环还是内层while循环,每执行一次循环体都会让i加1,而i的取值范围最大是0到n-1,所有循环的总执行次数最多为n次,整体操作次数和输入规模n成线性正比。

对应的代码片段:

for(int i=0;i<n;i++){
    if(a[i]%10==0){
        temp=a[i];
        i++;
        while(a[i]%10!=0){
            a[i]=temp;
            i++;
        }
        i--;
    }
}

内容的提问来源于stack exchange,提问作者Carlos Santamaria

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:15:07