- 博客(20)
- 收藏
- 关注
原创 Javascript面试常见算法——来自freecodecamp
面试常见算法找到对等分差补充数组去重的方法更新库存找到对等分差知识提要:对称差 (Symmetric Difference),数学上,两个集合的对称差分是只属于其中一个集合,而不属于另一个集合的元素组成的集合,例如:集合let A = [ 1, 2, 3]和let B = [ 2, 3, 4]的对称差分为A △ B = C = [ 1, 4]。 集合论中的这个运算相当于布尔逻辑中的异或运算。...
2021-09-03 11:06:37
289
原创 前端面经——HTML篇
HTML语义化语义化优点:语义化的HTML就是正确的标签做正确的事情,能够便于开发者阅读和写出更优雅的代码的同时让网络爬虫很好地解析。1、为了在没有css代码时,也能呈现很好的内容结构,代码结构,以至于达到没有编程基础的非技术人员,也能看懂一二。(其实,就是为了不穿CSS外衣,裸奔依然好看)。2、提高用户体验,比如:title,alt用于解释名词和图片信息。3、利于SEO,语义化能和搜索引擎建立良好的联系,有利于爬虫抓取更多的有效信息。爬虫依赖于标签来确定上下文和各个关键字的权重。4、
2021-09-03 11:06:06
470
原创 前端学习路径——成为大厂offer收割机
这篇文章着实来的有点晚,在我面试完大概一周年的时候来撰写这篇文章。工作闲暇之余,觉得有必要用文字的形式把去年的面试流程以及学习心得分享给大家。先说结论吧,我总共应该是拿到了12家的互联网offer,包括快手、百度、携程、滴滴、小米、华为、远景、大华、神策数据、酷家乐、触宝、招银网络的offer,除此之外在国企方面还拿到了中国电信南京公司和江苏省农行信息科技岗的offer。关于薪资什么的在这篇文章里就不赘述了,我主要讲一下我的学习路线和面试经验,希望为后来人提供一些经验。写在前面我不是什么985、211学
2021-09-03 10:52:25
1125
原创 剑指offer11 Javascript版本——二进制中1的个数
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。题解:搬运牛客大佬的方法:如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后,第三位变成...
2020-03-06 21:17:16
170
原创 剑指offer10 Javascript版本——矩阵覆盖
题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?比如n=3时,2*3的矩形块有3种覆盖方法:本质上还是一个斐波那契数列。n = 1 的时候只能横着覆盖,一种n = 2 的时候可以横着和竖着覆盖,两种n = 3 的时候第三级横着覆盖,用了一级,剩下 n = 2,有两种覆盖方法第三季竖着覆盖,用了...
2020-03-06 20:59:27
210
原创 剑指offer8&9 Javascript版本——跳台阶和变态跳台阶
跳台阶题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。题解跳n级台阶相当于跳n-1级台阶和跳n-2级台阶的方法的总和,如果将跳n级台阶的方法看作是f(n),n-1台阶的方法是f(n-1),n-2台阶的方法是f(n-2),则f(n) = f(n-1) + f(n-2)本质上也是一个斐波那契数列。function...
2020-03-06 20:43:31
182
原创 算法中级——来源freecodecamp
算法中级——freecodecamp范围内的数字求和区分两个数组瞄准和消灭罗密欧与朱丽叶短线连接格式儿童黑话搜索和替换DNA 配对丢失的字母集合排序转换HTML实体求斐波那契数组中的奇数之和范围内的数字求和给出一个含有两个数字的数组,我们需要写一个函数,让它返回这两个数字间所有数字(包含这两个数字)的总和。注意,较小数不一定总是出现在数组的第一个元素。方法一:找出最大最小值,然后从小+1...
2020-03-04 22:27:40
1151
原创 剑指offer7 Javascript版本——斐波那契数列
题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39题解:斐波那契数列的标准公式为:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)function Fibonacci(n){ // write code here let pre = 0; ...
2020-03-03 23:01:24
188
原创 剑指offer6 Javascript版本——旋转数组的最小数字
题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。题解:方法一:利用数组的reduce方法,找出数组中的最小值。function minNumberI...
2020-03-03 22:35:49
170
原创 剑指offer5 Javascript版本——用两个栈实现队列
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。题解:栈的特性是:后入先出。根据题目提示,使用 2 个栈即可。一个栈inStack用来存储插入队列的数据,一个栈outStack用来从队列中取出数据。算法分为入队和出队过程。入队过程:将元素放入 inStack 中。出队过程:outStack 不为空:弹出元素outStack 为空:将 i...
2020-03-03 21:50:14
157
原创 剑指offer4 Javascript版本——重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。题解:思路:根据中序遍历和前序遍历可以确定二叉树,具体过程为:根据前序序列第一个结点确定根结点根据根结点在中序序列中的位置分割出左右两个子序列...
2020-03-02 21:33:46
307
1
原创 剑指offer3 Javascript版本——从尾到头打印链表
题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。题解:方法一:将链表存入一个数组之中,然后进行数组的反转。/*function ListNode(x){ this.val = x; this.next = null;}*/function printListFromTailToHead(head){ // write code her...
2020-03-02 21:15:14
158
原创 JS函数式编程——来源freecodecamp
Javascript函数式编程使用 map 方法从数组中提取数据在原型上实现 map 方法(原生实现map方法)使用 filter 方法从数组中提取数据在原型上实现 filter 方法(原生实现filter方法)使用 slice 方法返回数组的一部分使用 slice 而不是 splice 从数组中移除元素使用 concat 方法组合两个数组使用 concat 而不是 push 将元素添加到数组的末...
2020-02-29 16:13:07
1499
原创 剑指Offer刷题Javascript版本——构建乘阶数组
题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)题解:方法一:双重循环。function multipl...
2020-02-28 22:30:23
149
原创 JS算法基础
JS算法基础将摄氏温度转换成华氏温度翻转字符串数字的阶乘查找字符串中最长的单词返回数组中最大的数字算法基础:检查字符串的结尾重复字符串截断字符串发现者与看护者真假测试——来源freecodecamp将摄氏温度转换成华氏温度将摄氏度转换为华氏度的算法为:摄氏度 × 9/5 + 32输入参数 celsius代表一个摄氏温度值。请你根据上述转换公式,将已定义好的 fahrenheit变量赋值为对...
2020-02-28 15:23:49
785
原创 剑指Offer刷题Javascript版——数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。题解方法一:首先将数组进行排序,然后检查相邻的数是否相同。function duplicate(numbers, ...
2020-02-27 22:50:39
192
原创 JS数据结构基础
使用数组存储数据集合——来源freecodecamp以下是数组(Array)数据结构的最简单的实现例子。这是一个一维数组(one-dimensional array),它只有一层,或者说在它里面没有包含其它的数组结构。你可以看到它里面包含了布尔值(booleans)、字符串(strings)、数字(numbers)以及一些其他的 JavaScript 语言中合法的数据类型:let simpl...
2020-02-27 16:02:27
1086
原创 剑指offer2 javascript版本——替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。题解:分析1:这是一道考查正则的题目,首先写出一个匹配所有空格的正则,然后将其替换为%20。function replaceSpace(str){ // write code here reg = /\s...
2020-02-26 21:56:56
163
原创 剑指offer1 javascript版本——二维数组中的查找
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。题解:一、暴力法遍历数组中所有元素,查找是否包含该元素。首先我们来了解一下JS中一个m*n二维数组的m和n如何获取。二维数组的行数:array.length;二维数组的列数:array...
2020-02-26 21:40:43
293
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人