更多課程 選擇中心

Web培訓
達內IT學院

400-111-8989

Web培訓

2020年前端面試題匯總之算法和應用

  • 發布:Web前端培訓
  • 來源:web前端面試
  • 時間:2020-11-25 17:42

今天小編要跟大家分享的文章是關于2020年前端面試題匯總之算法和應用。正在從事Web前端工作和想要換工作的小伙伴們來和小編一起看一看吧,希望本篇文章能夠對大家有所幫助。

2020年前端面試題匯總

算法和應用

3.1 隨機洗牌算法

題目:隨機打亂數組里的元素,元素不能在原來的位置

let arr1 = [1,2,3,4,5,6,7,8,9,10]

function shuffle(array) {

for (let i = array.length - 1; i >= 0; i--) {

let randomIndex = Math.floor(Math.random() * (i + 1)); [array[i],

array[randomIndex]] = [array[randomIndex], array[i]] }

return array;}

shuffle(arr1)

Fisher–Yates shuffle洗牌算法:從后往前遍歷,取當前的數和前面的一個隨機下標的數交換位置。

3.2 兩個雞蛋與100層樓

題目:兩個軟硬程度一樣但未知的雞蛋,它們有可能都在一樓就摔碎,也可能從一百層樓摔下來沒事。有座100層的建筑,要你用這兩個雞蛋確定哪一層是雞蛋可以安全落下的最高位置。可以摔碎兩個雞蛋。在有限層數和蛋數的情況下,求即使最壞情況下需要的最少判斷次數。

這是一道動態規劃的題目,首先假設f[n][m]表示從m層樓扔n個雞蛋,找到的安全位置的最少判斷次數。如果第一個雞蛋第一次從[1, i]中任選第j層扔下,如果碎了,就必須從[1, j - 1]挨著試, 也就是dp[1][j - 1];如果不碎的話,那么還要在[j, i]層繼續扔,即dp[2][i - j]。最壞情況下則取max(dp[1][j - 1], dp[2][i - j])次。

根據方程寫出解法:

function egg(floor) {

// dp[1][i] = i, dp[2][i] = i 最差的情況預處理數據

let dp = Array.from(new Array(3),

() => Array.from({length: floor + 1}, (v,k) => k))

for (let i = 1; i <= floor; i++ ) {

for (let j = 1; j < i; j++ ) {

dp[2][i] = Math.min ( dp[2][i], 1 + Math.max(dp[1][j-1], dp[2][i-j]) );

} }

return dp[2][floor]}

如果給的是n個雞蛋,用下面的解法:

function floorEgg(egg, floor) {

if (egg < 1 || floor < 1)

return 0 // 初始化數組,值為最壞的次數

let dp = Array.from(new Array(egg + 1).keys(),x => Array.from({length: floor + 1}, (v,k) => x && k))

// 構建dp數組 for(let i = 2; i <= egg; i++){

for(let j = 1; j <= floor; j++){

for(let k = 1; k < j; k++){

dp[i][j] = Math.min(dp[i][j], 1 + Math.max(dp[i-1][k-1], dp[i][j-k]));

}

} }

return dp[egg][floor]}

以上就是小編今天為大家分享的關于2020年前端面試題匯總之算法和應用的文章,希望本篇文章能夠對想要換工作的Web前端工程師們有所幫助,想要了解更多Web前端知識記得關注達內Web培訓官網,最后祝愿小伙伴們工作順利,成為一名優秀的Web前端工程師。

文章來源:原創 const弓長張 總在落幕后

【免責聲明:本文圖片及文字信息均由小編轉載自網絡,旨在分享提供閱讀,版權歸原作者所有,如有侵權請聯系我們進行刪除。】

預約申請免費試聽課

填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

上一篇:2020年前端面試題匯總之常見性能優化
下一篇:2020年前端面試題匯總之概念

Web前端面試前需要做的面試準備有哪些

2020年前端面試題匯總之概念

2020年前端面試題匯總之算法和應用

2020年前端面試題匯總之常見性能優化

  • 關注微信公眾號

    回復關鍵字:視頻資料

    免費領取 達內課程視頻學習資料

  • 視頻學習QQ群

    添加QQ群:1143617948

    免費領取達內課程視頻學習資料

Copyright ? 2018 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

選擇城市和中心
黑龍江省

吉林省

河北省

貴州省

云南省

廣西省

海南省

a一天堂网,靑靑青草手机版,免费视频,青娛樂,大香蕉,热热色,原网站,窝窝影院 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>