几个js算法面试题

1.给定字符串str,检查其是否连续3个(升序或降序数字),如果有,返回第一个出现的连续3个数字(或者最后一次出现的连续三个数字)

2.给出一个数字数组,选出数组中的最大值(最小值)

第一题解决方案:

修改网络中给出的一种解决方案,感觉这个比较直白,链接贴一下:https://www.cnblogs.com/tyjz/p/7203486.html

function printNum(str){
str = str.split('').reverse().join('')//如果要输出最后一次出现的三个连续数字就加上这一行代码
var symbol1,symbol2,symbol3 ;

var results = [];

var array = str.split("");

for(var i=0;i<array.length - 2;i++){

symbol1 = array[i];

symbol2 = array[i + 1];

symbol3 = array[i + 2];

if(((symbol2 - symbol1) == (symbol3 - symbol2))&&(Math.abs(symbol2 - symbol1)==1)){

results.push(symbol1);

results.push(symbol2);

results.push(symbol3);

return results;

}

}

}
var results = printNum('123456789')
console.log(/*results.join('')*/results.reverse().join(''))//如果要输出最后一次出现的三个连续数字就选这二个
第二题解决方案:
function arrayMaxMini(arrs) {
var max = arrs[0];
var mini = arrs[0];
for (var i=0;i<arrs.length;i++) {
if (arrs[i]>max) {
max = arrs[i]
}
if (arrs[i]<mini) {
mini = arrs[i]
}
}
return [max, mini];
}
// 获取最大值和最小值
var arrs = [2,4,5,6,15,7,9,10];
console.log(arrayMaxMini(arrs));
原文地址:https://www.cnblogs.com/fairy62/p/9773196.html