学习了一段时间的Scala,体会最深的就是其面向函数的风格为我们提供了不同的抽象层次,抽象层次越高,表达问题越简洁,越优雅。当然,Scala中大量的语法糖也让人相当崩溃,这不今天就被一段代码给搞疯了。由于本人有一个恶习:在困了或者脑袋不灵光的时候就会去找一道数学题做,来提神。今天正好找到了2016年北京高考数学理科试题的最后一道数列题目,做为一个数学渣,硬着头皮啃一下这道题吧,结果做着做着就想到了Scala,果然是走火入魔太深了。我们先来看看这道题目吧。
看完这道题目就在想,G时刻就是一个List(-2,2,-1,1,3),对其进行一个操作得到一个新的List,可以用Scala的思想来搞定吧,OK那来试试吧。
这道题目可以这样来看,G时刻就是将一个list a转换成另一个list b,而b中的元素是a中对应元素的下标,这个元素需满足比它前面所有元素都大这一条件。