1. 程式人生 > >前端如何應對筆試算法題?(用node編程)

前端如何應對筆試算法題?(用node編程)

地方 處理 www dea 如何 ejs 分享圖片 spl 個數

用nodeJs寫算法題

咱們前端使用算法的地方不多,但是為了校招筆試,不得不針對算法題去練習呀!

好不容易下定決心 攻克算法題.發現js並不能像c語言一樣自建輸入輸出流。只能回去學習c語言了嗎?其實不用,node也能很好幫助我們完成!且筆試都支持用nodeJs,實際上就是用JS編程,只是用到了node的一些輸入輸出流方法。
技術分享圖片

我們看看最簡單的使用模板:(轉載)

var readline = require(‘readline‘);

rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

rl.on(‘line‘, function(data) {
    // 獲取輸入
    var inputs = data.trim().split(‘ ‘);

    // 處理
    var result = deal(inputs);

    // 輸出結果
    console.log(result);
});


function deal(inputs) {
    var result = ‘‘;

    // dosomething

    return result;
}

這套簡單的模板就能解決一般的算法題!最後放上一個前端算法題例子:
題目:輸入N個(N<=10000)數字,求出這N個數字中的最大值和最小值。每個數字的絕對值不大於1000000。

var readline = require(‘readline‘);
var rl = readline.createInterface({
    input:process.stdin,
    output:process.stdout,
});
var num = 0;
 
rl.on(‘line‘,function(input){
    if(num==0){
        num = input.trim();
    }
    else{
        var iptArr = input.split(‘ ‘);
        if(iptArr.length==num){
            var maxNum = Math.max.apply(null,iptArr);
            var minNum = Math.min.apply(null,iptArr);
            var result = maxNum + ‘ ‘ + minNum;
            console.log(result);
            return result;
        }
    }
})
//在終端輸入
node max_min        //文件名
5                    //輸入N個數的數量
12 18 5 20 10        //N個數
20 5                //返回結果

技術分享圖片

node在算法題的更多使用方法請看:https://www.cnblogs.com/floor/p/6667059.html
前端面試常見算法題請看這:http://web.jobbole.com/88471/

前端如何應對筆試算法題?(用node編程)