幾個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));


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM