读书人

for循环优化 小弟我遇到的一个面试题

发布时间: 2012-12-20 09:53:21 作者: rapoo

for循环优化 我遇到的一个面试题

优化以下for循环并说明原因。

for(int i=0; i <10000;i++){

??????for(int j=0; j <100;j++){

??????????for(int k=0; k <10;k++){

????????????System.out.print(i+" "+j+" "+k);

??????????}

??????}

}

虽然做出来了,但是没说出原因,我也不知道原因,凭感觉是。在网上搜了一下,原来是这么回事儿。以下是在网找找的。

?优化以下for循环:

for(int i=0; i <10000;i++){

??????for(int j=0; j <100;j++){

??????????for(int k=0; k <10;k++){

????????????System.out.print("out");

??????????}

??????}

}

优化:

for(int i=10;i>=0;i--){

???for(int j=100;j>=0;j--){

??????for(int k=10000;k>=0;k--){

??????????System.out.print("out");

??????}

???}

}

把循环次数最多的放在循环的最内层??效率会相应提高的,因为可以减少外层的判断次数。同时数字尽量和0比较,也可以加快速度

读书人网 >编程

热点推荐