递归求嵌套数组中最大值

简介:

今早在 https://attachments.me/hirehack/public/computer.html 做题,有一题是 递归求嵌套数组中最大值:

/*
This challenge requires that, given as input an array which may contain:
 - integer values.
 - inner-arrays of integer values.
 - any recursive combination thereof.
 Return the largest value contained in the array or any of its sub-arrays.

Input: [1, [2, [3, 4]], [5, [6, 7]]]

Output: 7
*/

分享一下我的代码:

function recursiveMax(input){
    var nums=[];
    for(var i=0;i<input.length;i++){
        var obj=input[i];
        if(obj instanceof Array){
            nums.push(recursiveMax(obj));
        }
        else{
            nums.push(obj);
        }
    }
    return Math.max.apply(null,nums);
}

//Test
recursiveMax([1,[[2,3],4,5,6,7],8,9,10]);//output 10

欢迎交流。



本文转自Artwl博客园博客,原文链接:http://www.cnblogs.com/artwl/,如需转载请自行联系原作者

相关文章
|
存储 编译器 BI
掌握Go语言:Go语言基础构建模块解析,优缺点及进销存项目实战(2)
掌握Go语言:Go语言基础构建模块解析,优缺点及进销存项目实战(2)
125 0
|
消息中间件 Java 关系型数据库
10道不得不会的Docker面试题
10道不得不会的Docker面试题,10道不得不会的Docker面试题
9558 1
10道不得不会的Docker面试题
|
安全 Java 物联网
一个好用的IM服务端项目 flamingo
以下是关于几个开源即时通讯(IM)服务端软件的简要概览 这些项目各有特色,适合不同需求,如安全、扩展性或特定工作流程。
|
NoSQL Redis 数据库
从零开始,探究Redis分布式锁底层原理!
从零开始,探究Redis分布式锁底层原理!
253 0
从零开始,探究Redis分布式锁底层原理!
|
网络协议
TCP/IP面试三道题
精选三道TCP/IP协议面试题
184 2
|
Linux Go API
【Golang 快速入门】项目实战:即时通信系统
Golang 实战之即时通信系统 服务端版本一:构建基础 Server 版本二:用户上线功能 版本三:用户消息广播机制 版本四:用户业务层封装 版本五:在线用户查询 版本六:修改用户名 版本七:超时强退功能 版本八:私聊功能
545 0
【Golang 快速入门】项目实战:即时通信系统
|
关系型数据库 MySQL
Mysql Redo log和BinLog的区别
最开始 MySQL 里并没有 InnoDB 引擎。MySQL 自带的引擎是 MyISAM,但是 MyISAM没有 crash-safe 的能力,binlog 日志只能用于归档。而 InnoDB 是另一个公司以插件形式引入MySQL 的,既然只依靠 binlog 是没有 crash-safe 能力的,所以 InnoDB 使用另外一套日志系 统——也就是 redo log 来实现 crash-safe 能力
442 0
|
编解码 Java 程序员
Android入门教程 (二) 第一个App HelloWorld
Android入门教程 (二) 第一个App HelloWorld
1443 0
|
存储 SQL 缓存
【面试-八股文】mysql 万字总结,助你吊打面试官
前段时间大家在面试过程中,经常被问到数据库相关的问题。 像:sql怎么优化,解释下数据库常见锁的,having 和 where区别等等。 所以温大大爆肝1天2夜。 肝了「万字」从数据库基础知识、到数据索引、索、事务 以及 面试高频面试题。
【面试-八股文】mysql 万字总结,助你吊打面试官
|
监控 安全 Java
华为实习面试(一)
这位学长的一面是一位非常nice的小姐姐,学长前面稍稍有些紧张,后面这位小姐姐很好的缓解了气氛,后面反问环节聊了很多内容,面试完成后过了5min就来短信说通过了
431 0