• 前端开发工程师面试题之算法篇


    1.判断一个单词是否是回文

    注解:回文是指把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环。比如 mamam redivider .

    1 function checkPalindrom(str) {
    2      return str == str.split('').reverse().join('');
    3 }

    2.去掉一组整形数组中重复的值

    注解:输入:[1, 2, 3, 1, 2],输出:[1, 2, 3]

    方法很多,列车两个比较典型的

    方法一:
    1 function uniqueArray(arr) {
    2     return arr.filter(function(item, index, array){
    3         return array.indexOf(item, index+1) === -1
    4     })
    5 }
    方法二:
    1 function uniqueArray(arr) {
    2     return Array.from(new Set(arr));
    3 }

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

    注解:给出一段英文连续的英文字符窜,找出重复出现次数最多的字母

     1 String.prototype.findMostCharInString = function () {
     2     var str = this.valueOf();
     3     var obj = {};
     4     for (var i = 0; i < str.length; i++) {
     5         var char = str.charAt(i);
     6         if (obj[char]) {
     7             obj[char]++;
     8         }else{
     9             obj[char] = 1;
    10         }
    11     }
    12     var max = 0;
    13     var maxChar = null;
    14     for (var key in obj) {
    15         if (max < obj[key]) {
    16             max = obj[key];
    17             maxChar = key;
    18         }
    19     }
    20     return maxChar;
    21 }

     4.排序算法

    冒泡排序
     1 function bubbleSort(arr){
     2     var len = arr.length;
     3     for (var i = 0; i < len; i++) {
     4         for (var j = 0; j < len -1 - i; j++){
     5             if (arr[j] > arr[j+1]) {
     6                 var temp = arr[j];
     7                 arr[j] = arr[j+1];
     8                 arr[j+1] = temp;
     9             }
    10         }
    11     }
    12     return arr;
    13 }
    选择排序
     1 function selectionSort(arr){
     2     var len = arr.length;
     3     var minTemp,temp;
     4     for (var i = 0; i < len-1; i++){
     5         minTemp = i;
     6         for (var j = i + 1; j < len; j++){
     7 
     8             if (arr[j] < arr[minTemp]) {
     9                 minTemp = j;
    10             }
    11         }
    12         temp = arr[i];
    13         arr[i] = arr[minTemp];
    14         arr[minTemp] = temp;
    15     }
    16 
    17     return arr;
    18 }
  • 相关阅读:
    基于VIP的keepalived高可用架构
    高性能Nginx最佳实践
    Ubuntu安装Nginx
    Synchronized总结及底层原理分析#网易微专业# #Java#
    springboot Restful开发
    Volatile详解
    IOC知识点详细汇总
    python 一个函数让你决定你的二维码
    用python批量生成简单的xml文档
    基于tensorflow搭建一个神经网络
  • 原文地址:https://www.cnblogs.com/wanghao123/p/9390674.html
Copyright © 2020-2023  润新知