编程珠玑 - 代码调优法则 - 消除循环

简单,但有说明意义:

f(x) = 1 - 2 + 3 - 4 + 5 ... + x

快速实现:

public static int f(int x) {
	int b = 0;
	for (int i = 1; i <= x; i = i + 2)
		b += i;
	for (int i = 2; i <= x; i = i + 2)
		b -= i;
	return b;
}

我们通过观察可以消除不必要的循环:

public static int g(int x) {
	if (x % 2 == 0)
		return -(x/2);
	else
		return (x/2) + 1;
}

呵呵,只是简单一个思考,将会得到质的飞跃。

你可能感兴趣的:(编程珠玑,调优,法则,代码调优,消除循环)