前端考的算法

-
冒泡排序

-
判断一个单词是否是回文?
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
} -
字符串反转

-
不借助临时变量,进行两个整数的交换
举例:输入 a = 2, b = 4 输出 a = 4, b =2
这种问题非常巧妙,需要大家跳出惯有的思维,利用 a , b进行置换。
主要是利用 + - 去进行运算,类似 a = a + ( b - a) 实际上等同于最后 的 a = b;

1.

文章探讨了前端开发中常见的算法问题,包括使用冒泡排序判断回文字符串,利用Object作为哈希表去重整型数组,以及不借助额外变量实现两个整数的交换。这些题目旨在测试开发者对数据结构和巧妙算法的理解与运用。
1184

被折叠的 条评论
为什么被折叠?



