总站首页 | 合作模式 您好,欢迎访问易达招生网,希望本篇文章能够给您带来帮助!

电话咨询 在线客服 预约试听

易达招生网 > 动态汇总 > IT培训学校> 沈阳Web前端培训机构哪里好

沈阳Web前端培训机构哪里好
IT培训学校 2021-07-07 16:26:12 101
导语概要

千锋总部位于北京,现已在全国十四个城市成立分公司,多年来始终致力于打造IT教育全产业链人才服务平台,年培养中高端IT人才20000余人,坚持以人才需求为导向,为学员提供教学、就业一体化服务,是学员信赖的IT教育品牌,千锋专注于IT职业教育领域,现有HTML5培训、UI交互设计培训、PHP培训、Java+云数据培训、大数据开发培训、VR/AR/Unity游戏开发培训、Python人工智能培训、Linux云计算培训、全栈软件测试培训、Android培训、iOS培训,11大学科...


IT培训机构

2020年前端面试题汇总之算法和应用

今天小编要跟大家分享的文章是关于2020年前端面试题汇总之算法和应用。正在从事Web前端工作和想要换工作的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助。

算法和应用

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弓长张 总在落幕后

IT培训学校学员作品

IT培训学校推荐课程
  • IT培训机构课程

    大数据

  • IT培训机构课程

    智能物联网

  • IT培训机构课程

    Unity游戏开发

  • IT培训机构课程

    网络安全

  • IT培训机构课程

    互联网营销

  • IT培训机构课程

    影视剪辑包装

千锋教育隶属于北京千锋互联科技有限公司,以“初心至善,匠心育人”为核心价值观,致力于打造职业教育全产业链人才服务平台,公司总部位于北京,目前已在深圳、上海、广州、郑州、大连、武汉、成都、西安、杭州、青岛、重庆、长沙、哈尔滨、南京、太原、沈阳、合肥成立分公司,业务范围覆盖以大学生就业培训、职后技能培训与企业内训培训为主的立体化教育培训产业链。 千锋教育面授课程包含HTML5大前端培训、JavaEE+分布式开发培训、Python人工智能+数据分析培训、全链路UI/UE设计培训、云计算培训、全栈软件测试培训、大数据+人工智能培训、智能物联网+嵌入式培训、Unity游戏开发培训、Go语言开发培训、网络安全培训、互联网营销培训,采用全程面授高品质、高体验培养模式。


IT培训中心

IT课程分类

  • IT课程推荐

    HTML5

  • IT课程推荐

    Java

  • IT课程推荐

    Python

  • IT课程推荐

    全链路设计

  • IT课程推荐

    云计算

  • IT课程推荐式

    软件测试

易达招生网@版权所有 豫ICP备12014175号

本站文章由用户自行上传发布,如有侵权内容请及时联系我们删除。