国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【藍橋杯Web】第十四屆藍橋杯(Web 應用開發(fā))模擬賽 1 期-職業(yè)院校組 | 精品題解

這篇具有很好參考價值的文章主要介紹了【藍橋杯Web】第十四屆藍橋杯(Web 應用開發(fā))模擬賽 1 期-職業(yè)院校組 | 精品題解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

第十四屆藍橋杯web應用開發(fā),藍橋杯,# JS題解,JavaScript,藍橋杯,前端,javascript


????? 個人簡介:一個不甘平庸的平凡人??
??? Nodejs專欄:Node.js從入門到精通
??? TS知識總結:十萬字TS知識點總結
?? 你的一鍵三連是我更新的最大動力??!
?? 歡迎私信博主加入前端交流群??


?? 前言

上篇文章已經對大學組的十道題做了解析,有的小伙伴私信我說能不能出一篇職業(yè)院校組的解析,我去看了一下職業(yè)院校組模擬賽的題,發(fā)現(xiàn)就只有三道題與大學組的不同,于是這里就針對性的講一下這三題,其它題的解析見大學組題解:Web 應用開發(fā)模擬賽 1 期-大學組 | 精品題解

1?? 回文字符串

形如 aba,abba 的字符串都是回文字符串。另外,單字符串、空字符串也是一種特殊的回文字符串哦。

題非常的簡單,直接上代碼:

function isPalindromeStr(str) {
  // 在這里寫入具體的實現(xiàn)邏輯
  // 返回值是 boolean 類型, 如果是回文字符串應該返回 true, 否則返回 false
 
  return typeof str === "string" && (!str || str === [...str].reverse().join(''))
};
module.exports = isPalindromeStr; // 檢測需要請勿刪除
  • !str 用來處理空字符串的情況(!""的結果為true)。
  • [...str].reverse().join('') 代表將str轉換為數(shù)組,然后通過數(shù)組的reverse方法反轉,最后再通過join轉回字符串。

如果你感覺上面一行代碼的形式不太好理解,可以看下面的解法:

function isPalindromeStr(str) {
  // 在這里寫入具體的實現(xiàn)邏輯
  // 返回值是 boolean 類型, 如果是回文字符串應該返回 true, 否則返回 false
  if(typeof str !== "string") return false;
  if (!str) return true;

  for (let i = 0; i < str.length; i++) {
    if (str[i] !== str[str.length - i - 1]) {
    	// 但凡有不相等的就直接return fasle
        return false
    }
  }
 
  return true
};

module.exports = isPalindromeStr; // 檢測需要請勿刪除

簡單的使用循環(huán),來從兩頭向里開始判斷是否相等,不過這種寫法還可以在性能上再優(yōu)化一下:

function isPalindromeStr(str) {
  // 在這里寫入具體的實現(xiàn)邏輯
  // 返回值是 boolean 類型, 如果是回文字符串應該返回 true, 否則返回 false
  if(typeof str !== "string") return false;
  if (!str) return true;

  let strLength = str.length; // 存儲數(shù)組長度
  let halfLength = Math.ceil(strLength / 2); // 數(shù)組的一半長度(向上取整)

  for (let i = 0; i < halfLength; i++) {
    if (str[i]! == str[strLength - i - 1]) {
        return false
    }
    
  }
 
  return true
};

module.exports = isPalindromeStr; // 檢測需要請勿刪除
  • 因為是從兩頭向里進行遍歷,所以不需要遍歷整個字符串,只需遍歷一半即可,這樣在極端情況(str是回文字符串時)下就能節(jié)約一半的遍歷時間。
  • 通過一個strLength變量存儲字符串的長度,之后在需要使用字符串長度的地方替換使用strLength ,這樣能避免頻繁訪問str所造成的性能影響,不過這種影響是微乎其微的,這里只是想到了,所以就簡單說一下。

2?? 別抖了(防抖函數(shù))

讓寫一個防抖函數(shù),防抖和節(jié)流是必備的基礎知識,要注意防抖和節(jié)流是兩種不同的方式:

  • 防抖:指觸發(fā)事件后在 n 秒內函數(shù)只能執(zhí)行一次,如果在 n 秒內又觸發(fā)了事件,則會重新計算函數(shù)執(zhí)行時間。
  • 節(jié)流:指連續(xù)觸發(fā)事件但是在 n 秒中只執(zhí)行一次函數(shù)。

代碼:

function debounce(fn, delay = 0) {
  // TODO: 在這里寫入具體的實現(xiàn)邏輯
  // 返回一個新的防抖函數(shù)
  // 即使函數(shù)在 delay 時間段內多次被調用,也只會在最后一次函數(shù)被調用的 delay 時間結束后執(zhí)行
  let timer = null;
  return function (...args) {
    if (timer) clearTimeout(timer);
    timer = setTimeout(()=>{
        fn(...args)
    },delay)
  }
}

module.exports = debounce; // 檢測需要,請勿刪除

這是最簡單的防抖函數(shù),在復雜的情況下書寫防抖函數(shù)時是需要注意到原函數(shù)this指向,是否立即執(zhí)行,是否能取消執(zhí)行等多種情況。

3?? 分陣營,比高低

原本的學生數(shù)據(jù)格式:

[
  {
    name: "瀟然",
    class: 2, // 班級
    math: 110, // 數(shù)學成績
    language: 92, // 語文成績
    english: 114, // 英語成績
    physics: 56, // 物理成績
    chemistry: 74, // 化學成績
  },
  {
    name: "張三",
    class: 1,
    math: 100,
    language: 80,
    english: 60,
    physics: 80,
    chemistry: 60,
  },
  // ...
];

題目要求我們轉換成下面的格式:

// 返回的結果對象:
// key 是班級號,同一個班級中學生成績降序排列
{
  1: [
    {
      name: "瀟然",
      class: 1,
      math: 110,
      language: 92,
      english: 114,
      physics: 56,
      chemistry: 74,
    },
    {
      name: "張三",
      class: 1,
      math: 10,
      language: 8,
      english: 60,
      physics: 8,
      chemistry: 60,
    },
    // ...
  ],
  2: [
    // ...
  ],
};

代碼:

function orderStudentGrade(students) {
  // TODO: 在這里寫入具體的實現(xiàn)邏輯
  // 將學生的成績按班級分組,同一班級中按照總分從高到底排序
  let obj = {};
 
  // 將數(shù)據(jù)分班
  students.forEach((item) => {
      obj[item.class]
          ? obj[item.class].push(item)
          : (obj[item.class] = [item]);
  });

  // 排序 
  for (const key in obj) {
      obj[key].sort((a,b)=>{
        let aCount = a.math + a.language + a.english + a.physics + a.chemistry;
        let bCount = b.math + b.language + b.english + b.physics + b.chemistry;
        return bCount - aCount
      })
  }
  return obj
}

module.exports = orderStudentGrade; // 檢測需要,請勿刪除

?? 結語

至此,第十四屆藍橋杯Web應用開發(fā)模擬賽 1 期的所有題解就全部完成了,如果大家有問題,歡迎評論區(qū)留言,也歡迎私信我加入我們的前端技術交流群。

模擬賽 1 期距離結束就剩1天的時間了,沒完成的小伙伴要抓緊時間了。

如果本篇文章對你有所幫助,還請客官一件四連!??

第十四屆藍橋杯web應用開發(fā),藍橋杯,# JS題解,JavaScript,藍橋杯,前端,javascript

?? 歡迎私信博主加入前端交流群??文章來源地址http://www.zghlxwxcb.cn/news/detail-781049.html

到了這里,關于【藍橋杯Web】第十四屆藍橋杯(Web 應用開發(fā))模擬賽 1 期-職業(yè)院校組 | 精品題解的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 第十四屆藍橋杯模擬賽(第一期)——C語言版

    問題描述 十進制整數(shù) 2 在十進制中是 1 位數(shù),在二進制中對應 10 ,是 2 位數(shù)。 十進制整數(shù) 22 在十進制中是 2 位數(shù),在二進制中對應 10110 ,是 5 位數(shù)。 請問十進制整數(shù) 2022 在二進制中是幾位數(shù)? 答案提交 這是一道結果填空的題,你只需要算出結果后提交即可。本題的結果

    2023年04月09日
    瀏覽(94)
  • 第十四屆藍橋杯單片機第二場模擬賽程序

    第十四屆藍橋杯單片機第二場模擬賽程序

    第十四屆藍橋杯單片機第二場模擬賽程序(少量bug) 題目來源于4T評測網(wǎng) www.4t.wiki 使用大賽組委會提供的國信長天單片機競賽實訓平臺,完成本試題的程序設計與調試。程序編寫、調試完成后,選手需通過考試系統(tǒng)提交以準考證號命名的hex文件。不符合以上文件提交要求的作

    2023年04月14日
    瀏覽(99)
  • 2023第十四屆藍橋杯模擬賽第二期個人題解(Java實現(xiàn))

    2023第十四屆藍橋杯模擬賽第二期個人題解(Java實現(xiàn))

    2023第十四屆藍橋杯校內模擬賽第三期個人題解(Java實現(xiàn)) 藍橋杯真題——單詞分析(Java實現(xiàn)) 這篇文章為個人題解,假如我寫的解法有誤,歡迎大家在評論區(qū)指正?????。?!希望這篇文章對你有幫助?? 請找到一個大于 2022 的最小數(shù),這個數(shù)轉換成二進制之后,最低的

    2023年04月23日
    瀏覽(1066)
  • 藍橋杯第十四屆藍橋杯模擬賽第三期考場應對攻略(C/C++)

    藍橋杯第十四屆藍橋杯模擬賽第三期考場應對攻略(C/C++)

    這里把我的想法和思路寫出來,懇請批評指正! 目錄 考前準備 試題1: 試題2: 試題3: 試題4: 試題5: 試題6: 試題7: 試題8: 試題9: 試題10: 總結: 考前五分鐘,開十個源文件,并把頭文件等必須寫的部分寫出來,寫完的程序一定要有順序地保留 問題描述 請找到一個

    2024年02月02日
    瀏覽(988)
  • 第十四屆藍橋杯校模擬賽-編程大題詳解+代碼(二)

    第十四屆藍橋杯校模擬賽-編程大題詳解+代碼(二)

    前言: 這幾天有不少小伙伴催促我盡快更新后五道編程題題解,然鄙人實在水平有限,實事求是,能力不足,不堪眾望。思索良久,第九題有解題思路且已完成部分解題,但未完全完成,第十題尚未有思路。在此愿有大佬指點一二! 目錄 一、做不完的核酸 問題描述 1.1 代碼

    2024年02月02日
    瀏覽(17)
  • 第十四屆藍橋杯模擬賽(第三期)(大學B組)Java組

    第十四屆藍橋杯模擬賽(第三期)(大學B組)Java組

    修改了第六題余數(shù)為0時輸出應為7的問題 修改了第五題和第九題可能超時的問題 前些天參加了第十四屆藍橋杯模擬賽(第三期),收獲頗豐,自己也走了一點點彎路,記錄一下自己考試中犯的一些錯誤。也希望在這期間可以提高一下自己的編程水平。 純小白大佬請噴! 問題

    2023年04月24日
    瀏覽(95)
  • 2022 第十四屆藍橋杯模擬賽第二期題目題解(比賽時使用方法)

    2022 第十四屆藍橋杯模擬賽第二期題目題解(比賽時使用方法)

    目錄 第一題:最小的2022 第二題:經過天數(shù) 第三題:特殊的十六進制數(shù) 第四題:矩陣的最小路徑 第五題:質數(shù)拆分 第六題:拷貝時間 第七題:單詞去重 第八題:最短回文串 第九題:多少個X? 第十題:最小交換 問題描述 請找到一個大于 2022 的最小數(shù),這個數(shù)轉換成二進

    2023年04月11日
    瀏覽(95)
  • 【藍橋杯嵌入式】第十四屆藍橋杯嵌入式[模擬賽2]客觀題及詳細題解

    【藍橋杯嵌入式】第十四屆藍橋杯嵌入式[模擬賽2]客觀題及詳細題解

    解析 USART_CR1:控制寄存器1,其中的M位定義了數(shù)據(jù)字的長度,由軟件對其設置和清零。 USART_CR2:控制寄存器2。 USART_BRR:波特率寄存器。 USART_DR:數(shù)據(jù)寄存器。 (如果現(xiàn)場不記得,可以查閱芯片手冊) 答案: A 解析 在STM32微控制器中,DMA可編程的數(shù)據(jù)傳送數(shù)目:最大為65535。(如果現(xiàn)場不

    2023年04月10日
    瀏覽(103)
  • 【藍橋杯嵌入式】第十四屆藍橋杯嵌入式[模擬賽2]程序設計試題及詳細題解

    【藍橋杯嵌入式】第十四屆藍橋杯嵌入式[模擬賽2]程序設計試題及詳細題解

    這次的模擬賽試題模塊還是一些常見模塊: LCD 、 LED 、 按鍵 、 定時器 以及 串口 ,相對比較常規(guī),相比于真正的省賽也比較簡單。但是它 適合剛剛學完各個模塊需要做真題的同學 ,可以借此來鞏固自己之前所學;對于已經能夠掌握各個模塊的同學也是有幫助的,就是平臺

    2023年04月13日
    瀏覽(714)
  • 【藍橋杯嵌入式】第十四屆藍橋杯嵌入式[模擬賽1]程序設計試題及詳細題解

    【藍橋杯嵌入式】第十四屆藍橋杯嵌入式[模擬賽1]程序設計試題及詳細題解

    模擬賽1的題目中需要的準備的知識點不多,其中只用到了 串口 、 LCD 、 LED 、 按鍵 、 定時器的PWM輸出 、以及 ADC 等幾個模塊,題目要求也簡單詳細并且數(shù)量不多,非常適合入門比賽,以及整合自己比賽的模塊。 與模擬賽2相比,當然是模擬賽2的試題比較難啦,雖然需要的模

    2023年04月13日
    瀏覽(718)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包