有一个已经排序的数组(升序),数组中可能有正数、负数或0,求数组中元素的绝对值最小的数,要求,不能用顺序比较的方法(复杂度需要小于O(n))
* 例如,数组{-20,-13,-4, 6, 77,200} ,绝对值最小的是-4。
如果 是 {-4,4} 随便返回 -4 或者 4 都可以。
随手写了 scala 代码,看着是比 java 帅多了。
def find(arr: Array[Int]): Int = { def minAbs(before: Int, after: Int) = if ((before + after) >= 0) before else after def part(from: Int, to: Int): Int = { val middle = (to + from) / 2 val middle_value = arr(middle) if (from == to || to == from + 1) middle_value else if (middle_value < 0) part(middle, to) else { val middle_pre = arr(middle - 1) if (middle_pre < 0) minAbs(middle_pre, middle_value) else part(from, middle - 1) } } if (arr.last < 0) arr.last else if (arr.first > 0) arr.first else part(0, arr.length - 1) }
相关推荐
scala习题精选100道,每道都有人工分析,技术点原理,不只是简单的答案
1.var,val和def三个关键字之间的区别 2.trait(特质)和abstract class(抽象类)的区别 3.object和class的区别 4.c
Coursera公开课Functional Programming Principles in Scala Week 1的作业,包含代码工程和题目离线网页
Coursera公开课Functional Programming Principles in Scala Week 1的作业,包含代码工程和题目离线网页。
Coursera公开课Functional Programming Principles in Scala的Week 2作业,包含代码工程和题目离线网页。
Algorithms When the programmer says "We make ... 然后为了不白学 Scala, 中间也使用了几个月的 Scala. 其中 Kotlin 最多. Accounts: 国内账号: 国际账号: My Plugins Money Never Sleeps! Translators Ascii Arts
《Spark编程基础及项目实践》课后习题及答案7.pdf《Spark编程基础及项目实践》课后习题及答案7.pdf《Spark编程基础及项目实践》课后习题及答案7.pdf《Spark编程基础及项目实践》课后习题及答案7.pdf《Spark编程基础...
使用Scala编写spark工程代码,将MySQL的shtd_store库中表user_info、sku_info、base_province、base_region、order_info、order_detail的数据增量抽取到Hive的ods库中对应表user_info、sku_info、base_province、...
AlgoHub囊括了 POJ, ZOJ, leetcode, HackerRank 等网站的经典题目(一些质量不高的题目则忽略),且 AlgoHub有非常简单的加题系统,用户不需要写一行代码即可自己添加题目,所以AlgoHub的题库还在飞速增长中。...
leetcode题解本项目『』C++11版Java8版Python3版以最优解进行解答:circled_M:约定标记:sweat_droplets:水题,只做一遍:circled_M:模板题,可记忆:star:启发性题,记忆+学习:check_mark_button:已完成题目,待定级别:...
Cloudera培训题目,主要关于spark,语言用的scala和python
技术类笔试题目-V6.01
programming有些思路确实很赞,所以用scala把所有的题目都做一遍 可能存在的问题 leetcode所有test cases目前不知道怎么全面拿到 所有的测试例子都来自于leetcode scala的某些算法和java的算法执行结果出入比较大,...
F#unctional伦敦人交流会刚好在月中有一个会议,下一次是关于Machine Learning。 在每节后面有问题和习题的编程书籍是很好的学习工具,可以练习你学到的知识,但这样的 书很少。最近出版的《Functional Programming ...
网络收集的大数据面试题目,感谢收集。可以保留作为面试用途
大数据常见面试,根据自己面试经验总结 hadoop spark scala hive hbase flume kafka
4399⼤数据笔试题 今天晚上参加了厦门 今天晚上参加了厦门4399公司的⼤数据笔试,⾃⼰没有拍下题⽬,⼀下是根据⾃⼰在草稿纸上简要记录回忆下 公司的⼤数据笔试,⾃⼰没有拍下题⽬,⼀下是根据⾃⼰在草稿纸上简要...
了不少项目,有时候想用的时候却找不到了,上网查了一下,发现相关的管理插件和网页也都不太好用,看到一个说法,如果都不愿意整理的star 项目,star起来确实也没什么用,因此还是决定好好整理一下,顺便筛查一波。 ...
1、Hadoop 是什么语言开发的 Golang Python Java Scala C 2、以下不属于Hadoop生态圈相关组件\产品的是 Flume Hive Zookeeper Docker D 3、HBase是构建在Hadoop上的一种 行数据库 列数据库 文档型数据库 图式...