前端面试常见算法集锦

这次腾讯面试的失利,让我深刻明白了这一点:想进大公司,必须把算法学习好。为此开一篇文章,记录下面试过程中经常会出现的算法笔试题。

Q1. 去掉一组整型数组中重复的值

该题目的解法有好几种,下面列举几种常见的解法。

上面那种解法是我们最容易想到的解法,在查找重复元素的过程中使用了indexOf方法,如果不使用的话,也可以使用循环解决如下:

除了使用indexOf和循环去重,我们还可以使用Object对象判断是否重复,下面这种解法是作者比较推荐的一种解法。

最后还有一种方法,使用了sort()对数组进行了排序,这样去重之后原数组的索引对应元素的值都发生的变化,如果不考虑这一点,可以使用这种解决方案。

Q2. 统计一个字符串出现最多的字母

其实就是统计字符串中每个字符出现的次数,最后从中找到出现次数最多的字符。

Q3. 排序算法

冒泡排序

快速排序

插入排序

Q4. 斐波那契数列

斐波那契数列就是形如0,1,1,2,3,5,8.....的数列。

Q5. 速度创建1-100的数组

ES5的写法

ES6的写法

Q6. 洗牌算法

这道题是我去富途面试CTO问我的一道题,我听到之后一脸懵比(后面的题目也做的不好),结果直接game over,面试之后查阅了下百度自己写了出来

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值