您的位置:首页 > 娱乐 > 八卦 > 临沂seo_企业建站公司平台_如何做seo整站优化_公司网站怎么建立

临沂seo_企业建站公司平台_如何做seo整站优化_公司网站怎么建立

2025/10/14 1:14:55 来源:https://blog.csdn.net/qq_21087199/article/details/146851346  浏览:    关键词:临沂seo_企业建站公司平台_如何做seo整站优化_公司网站怎么建立
临沂seo_企业建站公司平台_如何做seo整站优化_公司网站怎么建立

拓展

unshift shift splice 时间复杂度比较高 (动了原数组了)
push pop 时间复杂度比较快 slice() 不动原数组所以也很快  时间复杂度O(1)

旋转K步

算法一


//时间复杂度O(n^2) 空间复杂度O(1)
function rotate1 (arr:number[],k:number):number[]{const length=arr.lengthif(!k||length===0) return arrconst step=Math.abs(k%length)  //abs取绝对值// 时间 O(n^2) 空间O(1)for(let i=0;i<step;i++){const n=arr.pop()if(n){arr.unshift(n)}}return arr
}

算法二

//拆分数组 最后连接concat 拼接返回
//时间复杂度O(1) 没有循环所以是O(1) 空间复杂度O(n)(不重要)
function rotate2 (arr:number[],k:number):number[]{const length=arr.lengthif(!k||length===0) return arrconst step=Math.abs(k%length)  //abs取绝对值const part1=arr.slice(-step)const  part2= arr.slice(0,length-step)const part3=part1.concat(part2)return part3}
const arr=[1,2,3,4,5,6,7]
const arr1=rotate2(arr,3)
console.info(arr1)   //[5,6,7,1,2,3,4]

总结 从时间复杂度来看第二种算法更优 !!!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com