最基础的就是冒泡排序了,下面来看看
function bubbleSort(arr) {
for(let i=0;i<arr.length-1;i++){
for(let j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
let temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
还有一种是快速排序,算法参考某个元素值,将小于它的值,放到左数组中,大于它的值的元素就放到右数组中,然后递归进行上一次左右数组的操作,返回合并的数组就是已经排好顺序的数组了。
function quickSort(arr) {
if(arr.length<=1) {
return arr;
}
let leftArr = [];
let rightArr = [];
let q = arr[0];
for(let i = 1,l=arr.length; i<l; i++) {
if(arr[i]>q) {
rightArr.push(arr[i]);
}else{
leftArr.push(arr[i]);
}
}
return [].concat(quickSort(leftArr),[q],quickSort(rightArr));
}
回文是指把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环。
function checkPalindrom(str) {
return str == str.split('').reverse().join('');
}
参考本文 数组去重
function findMost(str){
let max = 1;
let maxC = '';
let arr = {}
for(let i = 0;i<str.length;i++){
if(!arr[str.charAt(i)]){
arr[str.charAt(i)] = 1;
}else{
arr[str.charAt(i)]+=1;
}
}
for(let k in arr){
if(arr[k] >= max) {
maxC = k;
max = arr[k];
}
}
return maxC;
}
我们知道,最大差值肯定是一个数组中最大值与最小值的差
function getMaxProfit(arr) {
let maxP = 0;
let minItem = arr[0];
for(let i = 0;i<arr.length;i++){
let curItem = arr[i];
minItem = Math.min(curItem, minItem);
let curP = curItem - minItem;
maxP = Math.max(curP, maxP);
}
return maxP;
}
function getRandomStr(n) {
let str = 'abcdefghijklmnopqrstuvwxyz1234567890'
let temp = '';
let len = str.length;
for(let i=0;i<n;i++){
temp += str.charAt(Math.random()*len);
}
return temp;
}
©2018-2020 hongshali.com 版权所有 ICP证:闽ICP备18029655号-1