前端考的算法
-
冒泡排序
-
判断一个单词是否是回文?
function checkPalindrom(str) {
return str == str.split(‘’).reverse().join(‘’);
} -
去掉一组整型数组重复的值
比如 输入: [1,13,24,11,11,14,1,2], 输出: [1,13,24,11,14,2] ,需要去掉重复的11 和 1 这两个元素。
主要考察个人对Object的使用,利用key来进行筛选。
let unique = function(arr) {
let hashTable = {};
let data = [];
for(let i=0,l=arr.length;i<l;i++) {
if(!hashTable[arr[i]]) {
hashTable[arr[i]] = true;
data.push(arr[i]);
}
}
return data
} -
字符串反转
![在这里插入图片描述](https://img-blog.csdnimg.cn/cea47e9d133c4827aaf71b7320df2ac6.png -
不借助临时变量,进行两个整数的交换
举例:输入 a = 2, b = 4 输出 a = 4, b =2
这种问题非常巧妙,需要大家跳出惯有的思维,利用 a , b进行置换。
主要是利用 + - 去进行运算,类似 a = a + ( b - a) 实际上等同于最后 的 a = b;
1.