第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【九月打卡】第18天 算法(1)

標(biāo)簽:
JavaScript

课程名称2周刷完100道前端优质面试真题
课程章节:第2章 前端面试技能拼图1 :数据结构和算法(上),大厂面试必考
主讲老师双越
课程内容
今天学习的内容包括:
2-3 科普-时间复杂度
2-4 科普-空间复杂度
2-7 判断一个字符串是否括号匹配
2-8 用两个栈实现一个队列
这一章主要是讲算法两个度量标准和栈队列链表的算法题,这两题主要还是操作数组。

课程收获
时间复杂度:程序执行时计算量度量 O(1) < O(logn) < O(n) < O(nlogn) < O(n^2)
空间复杂度:程序执行时需要占用内存度量

  • 括号匹配

这个就是利用栈,三中括号一一对应,每个正括号入栈,遇到对应反括号则判断与栈顶是否匹配,匹配则出栈。反括号无法匹配或者最后栈内还有正括号则括号匹配失败。

const isMatchBracket = (str) => {
  const l = ['{', '[', '('];
  const r = ['}', ']', ')'];
  const lTor = {
    '{': '}',
    '[': ']',
    '(': ')'
  }
  let len = str.length;
  let stack = [];
  for (let i = 0; i < len; i++) {
    let item = str[i];
    if (l.includes(item)) {
      stack.push(item);
    } else if (r.includes(item)){
      let head = stack.pop();
      if (lTor[head] !== item) {
        return false;
      }
    }
  }
  return !stack.length
}
console.info(1, isMatchBracket('{a(b[c]d)e}f'));
console.info(2, isMatchBracket('{a}(b[c]d)e}f'));
console.info(3, isMatchBracket('a}(b[c]d)e}f'));
console.info(4, isMatchBracket(''));
  • 两个栈拼队列

队列是先进先出,栈先进后出
两个栈拼队列思路:
用两个栈,一个用来入队,入队即入栈;一个用来出队,栈内为空的时候则把第一个栈的出栈元素,入栈到第二个栈,此刻第二个栈的顺序相对于之前的顺序翻转,故第二个栈出栈即为正确的出队顺序。

  class Queue {
    constructor() {
      this.sAppend = [];
      this.sDelete = [];
    }
    append(item) {
      this.sAppend.push(item);
    }
    delete() {
      if (!this.sDelete.length) {
        while (this.sAppend.length) {
          let head = this.sAppend.pop();
          this.sDelete.push(head);
        }
      }
      return this.sDelete.pop() ?? -1;
    }
  }
  let q = new Queue();
  q.append(100);
  // q.append(200);
  // q.append(300);
  console.log(q.delete());
  console.log(q.delete());


以上,结束。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消