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

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

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

前端面试常见算法集锦

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

前端面试常见算法集锦

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

前端面试常见算法集锦

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

前端面试常见算法集锦

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

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

前端面试常见算法集锦

Q3. 排序算法

冒泡排序

前端面试常见算法集锦

快速排序

前端面试常见算法集锦

插入排序

前端面试常见算法集锦

Q4. 斐波那契数列

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

前端面试常见算法集锦

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

ES5的写法

前端面试常见算法集锦

ES6的写法

前端面试常见算法集锦

Q6. 洗牌算法

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

前端面试常见算法集锦

前端面试常见算法集锦

相关文章:

  • 2022-02-09
  • 2022-12-23
  • 2022-02-08
  • 2022-12-23
  • 2020-02-09
  • 2021-11-01
猜你喜欢
  • 2022-01-02
  • 2018-07-12
  • 2022-02-16
  • 2022-02-18
  • 2021-11-01
  • 2021-09-15
相关资源
相似解决方案