用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编程)的更多相关文章

  1. LeetCode算法题-Delete Node in a Linked List(Java实现)

    这是悦乐书的第197次更新,第204篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第60题(顺位题号是235).编写一个函数来删除单链表中的节点(尾部除外),只允许访问该 ...

  2. php笔试算法题:顺时针打印矩阵坐标-蛇形算法

    这几天参加面试,本来笔试比较简单,但是在面试的时候,技术面试官说让我现场写一个算法,顺时针打印矩阵的坐标,如图所示 顺序为,0,1,2,3,4,9,14,19,24,23,22,21,20,15,10 ...

  3. 笔试算法题(58):二分查找树性能分析(Binary Search Tree Performance Analysis)

    议题:二分查找树性能分析(Binary Search Tree Performance Analysis) 分析: 二叉搜索树(Binary Search Tree,BST)是一颗典型的二叉树,同时任 ...

  4. 笔试算法题(48):简介 - A*搜索算法(A Star Search Algorithm)

    A*搜索算法(A Star Search Algorithm) A*算法主要用于在二维平面上寻找两个点之间的最短路径.在从起始点到目标点的过程中有很多个状态空间,DFS和BFS没有任何启发策略所以穷举 ...

  5. 笔试算法题(45):简介 - AC自动机(Aho-Corasick Automation)

    议题:AC自动机(Aho-Corasick Automation) 分析: 此算法在1975年产生于贝尔实验室,是著名的多模式匹配算法之一:一个常见的例子就是给定N个单词,给定包含M个字符的文章,要求 ...

  6. 笔试算法题(43):布隆过滤器(Bloom Filter)

    议题:布隆过滤器(Bloom Filter) 分析: BF由一个很长的二进制向量和一系列随机映射的函数组成,通过多个Hash函数将一个元素映射到一个Bit Array中的多个点,查询的时候仅当所有的映 ...

  7. 笔试算法题(24):找出出现次数超过一半的元素 & 二叉树最近公共父节点

    出题:数组中有一个数字出现的次数超过了数组长度的一半,请找出这个数字: 分析: 解法1:首先对数组进行排序,时间复杂度为O(NlogN),由于有一个数字出现次数超过了数组的一半,所以如果二分数组的话, ...

  8. 笔试算法题(13):反转链表 & 左旋转字符串

    出题:反转链表(递归和非递归解法): 分析:有递归跟非递归实现,注意对原始链表头节点的处理,因为其他节点都指向下一个节点,其需要指向NULL: 解题: struct Node { int v; Nod ...

  9. 笔试算法题(06):最大连续子数组和 & 二叉树路径和值

    出题:预先输入一个整型数组,数组中有正数也有负数:数组中连续一个或者多个整数组成一个子数组,每个子数组有一个和:求所有子数组中和的最大值,要求时间复杂度O(n): 分析: 时间复杂度为线性表明只允许一 ...

随机推荐

  1. Python这么热,要不要追赶Python学习热潮?

    Python这么热,要不要追赶Python学习热潮? Python 可以用来做什么?在我看来,基本上可以不负责任地认为,Python 可以做任何事情.无论是从入门级选手到专业级选手都在做的爬虫,还是W ...

  2. Django框架----模板语法

    Django模板系统 官方文档 一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 只需要记两种特殊符号: {{  }}和 {% %} 变量 ...

  3. 大数据自学1-CentOS 下安装CDH及Cloudera Manager

    前面花了一段时间将Ubuntu,Hadoop装完,装到Hbase时,发现Hbase 与Hadoop是有兼容性问题的,Hbase 2.1版是不支持Hadoop 3.11版的,怪不得装起来那么多问题了. ...

  4. Python进阶【第七篇】文件处理

    一.文件操作 在Python中,文件读写是最常见的操作.对文件的操作为: #1. 打开文件,得到文件句柄并赋值给一个变量 f=open('a.txt','r',encoding='utf-8') #默 ...

  5. Android NDK MediaCodec在ijkplayer中的实践

    https://www.jianshu.com/p/41d3147a5e07 从API 21(Android 5.0)开始Android提供C层的NDK MediaCodec的接口. Java Med ...

  6. PKUWC2018 5/6

    总结: D1T1T2的思路较为好想,D1T3考试时估计是战略放弃的对象,D2T1思路容易卡在优化状态上(虽然明显3n的状态中有很多无用状态,从而想到子集最优,选择子集最优容易发现反例,从而考虑连带周边 ...

  7. centos/rhel 7 几个最重要变化(systemd,firewalld,networkmanager,文件系统)

    详细参考:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administra ...

  8. 20180307-Xen、KVM、VMware、hyper-v等虚拟化技术的比较

    xen和kvm,是开源免费的虚拟化软件. vmware是付费的虚拟化软件. hyper-v比较特别,是微软windows 2008 R2附带的虚拟化组件,如果你买了足够的授权,hyper-v(包括hy ...

  9. kali linux 64bit 2019.1a下启动bbqsql:No module named coros

    kali linux 64bit 2019.1a下bbqsql启动失败,错误: File "/usr/local/lib/python2.7/dist-packages/bbqsql/lib ...

  10. java常用类-String类

    * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,我们可以知道 * A:字符串字面值"abc"也可以看成是一个字符串对象. * B:字符串是 ...