前端如何应对笔试算法题?(用node编程)

Posted soyxiaobi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端如何应对笔试算法题?(用node编程)相关的知识,希望对你有一定的参考价值。

用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编程)的主要内容,如果未能解决你的问题,请参考以下文章

应对笔试手写代码,如何准备深度优先算法 & 广度优先算法?

算法编程题积累——腾讯笔试"有趣的数字“问题

去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码

前端笔试遇到的两个编程题

LeetCode 题解汇总

百度2016笔试(算法春招实习)