当前位置: 首页 > news >正文

网站首页快照更新快网站建设的流程和内容

网站首页快照更新快,网站建设的流程和内容,中国最大的摄影网站,公司视频宣传片拍摄摘要#xff1a;总结一些前端算法题#xff0c;持续更新#xff01; 一、数据结构与算法 时间复杂度-程序执行时需要的计算量#xff08;CPU#xff09; 空间复杂度-程序执行时需要的内存空间 前端开发#xff1a;重时间#xff0c;轻空间 1.把一个数组旋转k步 arr…摘要总结一些前端算法题持续更新 一、数据结构与算法 时间复杂度-程序执行时需要的计算量CPU 空间复杂度-程序执行时需要的内存空间 前端开发重时间轻空间 1.把一个数组旋转k步 array [1, 2, 3, 4, 5, 6, 7] 旋转数组k3 结果[5, 6, 7, 1, 2, 3, 4] 思路1把末尾的元素挨个pop然后unshift到数组前面 思路2把数组拆分最后concat拼接到一起 /** * 旋转数组k步使用pop和unshift */ function rotate1(arr: number[], k: number): number[] {const length arr.lengthif (!k || length 0) returnconst step Math.abs( k%length) // abs 取绝对值,k不是数值是返回NaN// 时间复杂度o(n^2), 空间复杂度o(1)for (let i 0; istep; i) { // 任何值与NaN做计算返回falseconst n arr.pop()if (n ! null ) {arr.unshift(n) //数组是一个有序结构unshift操作会非常慢O(n);splice和shift也很慢}}return arr } /** * 旋转数组k步使用concat */ function rotate2(arr: number[], k: number): number[] {const length arr.lengthif (!k || length 0) returnconst step Math.abs( k%length) // abs 取绝对值const part1 arr.slice(-step) // O(1)const part2 arr.slice(0,length-step)// 时间复杂度o(1), 空间复杂度O(n)return part1.concat(part2) } 常见内置API中的复杂度 unshift: unshift 方法将给定的值插入到类数组对象的开头并返回新的数组长度。时间复杂度为 O(n)其中 n 是数组的长度因为在插入时需要将原有的元素逐一往后移动一位空间复杂度为 O(1)。splice: splice 方法用于从数组中添加或删除元素并返回被删除的元素组成的新数组。splice 的时间复杂度为 O(n)其中 n 是数组的长度因为在删除或插入元素后需要移动数组中的其他元素以保持连续性空间复杂度为 O(n)因为需要创建一个新的数组。shift: shift 方法用于从数组的开头删除一个元素并返回被删除的元素。shift 的时间复杂度为 O(n)其中 n 是数组的长度因为在删除元素后需要将数组中的其他元素往前移动一位以保持连续性空间复杂度为 O(1)因为不需要额外的空间来存储。concat: concat 方法用于将两个或多个数组合并成一个新数组。时间复杂度为 O(1)数组末尾操作空间复杂度为 O(nm)m、n是原数组长度因为新的数组需要存储。slice: slice 方法用于从数组中提取出指定范围的元素并返回一个新数组不改变原数组。时间复杂度为 O(1)空间复杂度为 O(n)因为需要创建一个新的数组来存储提取的元素。 2.判断字符串是否为括号匹配 一个字符串s可能包括{}()[]三种括号判断s是否是括号匹配 考察的数据结构是栈先进后出ApI: push pop length 栈 VS数组区别 栈逻辑结构理论模型不管如何实现不受任何语言限制 数组物理结构真实功能实现受限于编程语言 /** * 判断是否括号匹配 */ function matchBracket(str: string): boolean {const length str.lengthif(length 0) return trueconst stack []const leftSymbols {[(const rightSymbols }])for (let i 0; i length; i) {const s str[i]if (leftSymbols.includes(s)) {stack.push(s) // 左括号压栈} else if (rightSymbols.includes(s)) {// 左括号判断栈顶是否出栈const top stack[stack.length-1]if (isMatch(top, s)) {stack.pop} else {return false}}}return stack.length 0 } /** * 判断左右括号是否匹配 */ functionn isMatch(left: string, right: string): boolean {if (left { right }) return trueif (left [ right ]) return trueif (left ( right )) return truereturn false } 时间复杂度O(n); 空间复杂度O(n)。
http://www.zqtcl.cn/news/581113/

相关文章:

  • 演示 又一个wordpress站点静态页面加wordpress
  • 企业做淘宝客网站有哪些有网站吗给一个
  • 深圳网站制作公司信息之梦与wordpress哪个好用
  • 免费搭建商城网站山西制作网站公司排名
  • 网站开发免费中建建设银行网站
  • 301重定向到新网站在线建站
  • 曰本做爰l网站沙朗做网站公司
  • 广州网站设计智能 乐云践新专家wordpress 头像设置
  • 电子商务学网站建设好吗佛山市手机网站建设企业
  • 为企业做网站电话开场白小说网站的里面的搜索是怎么做的
  • 深圳市设计网站公司自己做网站开网店
  • 智能建站cms管理系统修改wordpress时区
  • 站长怎么添加网站内容重庆网站推
  • 东莞网站建设属于什么专业网页设计代码书
  • 网站后台代码在哪修改wordpress添加搜索小工具
  • 爱站站长工具中国建设监理协会官方网站
  • 珠海微信网站开发东莞网站制作方案定制
  • 大学网站建设说明书记的网站域名
  • 网站如何开通支付功能第一ppt课件免费下载官网
  • 做1元夺宝网站挣钱吗美工网站设计收费
  • 华侨城网站开发wordpress页码颜色
  • 上海建站网络公司制作文字图片
  • 平台型网站制作网站建设张世勇
  • 网站建设云南网页游戏大厅都有哪些
  • 网站建设与管理报告书郑州建设银行网站
  • 做网站网页的人是不是思维公司网站建设包括
  • 网站建设都包括哪些网站后台如何上传文件
  • 网站便民服务平台怎么做迁安做网站中的cms开发
  • 做外贸比较好的网站怎么把网站做的好看
  • 有没有在淘宝找人做网站被骗过的台州市环保局网站开发区