再一次被鄙视了。是不是被鄙视的次数多了就不会有感觉了。
被问到了Erlang,没有循环结构【傻缺的设计】,怎么计算一个数组的和呢。
这个用递归可以解决,那么接下来一个问题让人头痛。
递归是可以解决,那么,如果递归深度很深,栈就爆掉了。请问如何优化呢?
这个真没了解过。
回来查了一下,Erlang中有一个叫做“尾递归”的概念,编译器会帮忙把尾递归优化成一个循环结构,这就是为什么Erlang敢不设计循环结构的原因所在。
看下面代码:
package zoer;
public class TestBitSet {
public static void main(String[] args) {
int d[] = { 4, 7, 1, 9, 3 };
sum2(d, 5, 4);
System.out.printl