JS面試常見演算法題

2021-08-08 00:20:30 字數 1507 閱讀 8520

學習資料結構與演算法對於工程師去理解和分析問題都是有幫助的。如果將來當我們面對較為複雜的問題,這些基礎知識的積累可以幫助我們更好的優化解決思路。下面羅列在前端面試中經常撞見的幾個問題吧。

1.統計乙個字串出現最多的字母和出現的次數

第一種方法:

var str = 'abcdeddd'

var n = {}

for(var i = 0; i < str.length; i++) else

}console.log(n)

var max = 0

var maxchar = null

for(var key in n)

}console.log('最多的字元' + maxchar) //"最多的字元d"

console.log('出現次數' + max) //"出現次數4"

第二種方法:

var str = 'abcdeddd'

var n = {}

var morestr = ''

for(var i = 0;i < str.length;i++)

n[more]++

if(morestr == '' || n[more]>n[morestr])

morestr = more

}console.log(morestr) //

"d"console.log(n[morestr]) //

4

2.陣列去重

es5方法:

var arr = [1,2,3,4,5,4,3,2]

function

test(arr)

}return newarr

}console.log(test(arr)) //[1, 2, 3, 4, 5]

es6方法:

function

test

(arr)

console.log(test(arr)) //[1, 2, 3, 4, 5]

3.排序演算法

1.氣泡排序:氣泡排序演算法就是依次比較大小,小的的大的進行位置上的交換。

var arr = [10,20,5,8,21,100,99]

function

test

() }

} console.log(arr) //[5, 8, 10, 20, 21, 99, 100]

}test()

2.sort排序

var arr = [10,20,5,8,21,100,99]

arr.sort(function(a,b))

console.log(arr)//[5, 8, 10, 20, 21, 99, 100]

JS面試常見演算法題

1.統計乙個字串出現最多的字母和出現的次數 第一種方法 var str abcdeddd var n for var i 0 i str.length i else console.log n var max 0 var maxchar null for var key in n var mores...

常見js演算法題

author laifeipeng date 2019 02 21 17 50 13 last modified by laifeipeng last modified time 2019 02 21 18 12 27 1 判斷回文字串 法一 function palindrome str retu...

19道常見的JS面試演算法題

最近秋招也做了多多少少的面試題,發現除了基礎知識外,演算法還是挺重要的。特意整理了一些常見的演算法題,新增了自己的理解並實現。除此之外,建議大家還可以刷刷 劍指offer 此外,左神在牛客網上也有演算法課程,聽了基礎班的感覺還不錯,起碼讓我這個演算法小白也能快速地理解了很多問題,知識付費的時代,這個...