我不知道这是否是一个愚蠢的问题,但我需要在不使用递归的情况下动态更改for循环的数量.
例如,如果n = 3,我需要3个嵌套的for循环.
for(int i=0; i<size; i++){
for(int j=0; j<size-1; j++){
for(int k=0; k<size-2; k++){
//do something
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果n = 5:
for(int i=0; i<size; i++){
for(int j=0; j<size-1; j++){
for(int k=0; k<size-2; k++){
for(int l=0; l<size-3; l++){
for(int m=0; m<size-4; m++){
//do something
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在没有递归的情况下实现这一目标?另一个问题:在Java中使用Multiple Dispatch有什么用?我试图用一种方法编写代码,它应该在参数的不同情况下运行不同的事件.如果声明/三元运营商/案例.
注意:我只能有一个方法(部分问题),并且不能使用递归.抱歉.
小智 3
想想你运行了这个循环多少次。看起来像(size!) / (size - n)!:
int numLoops = 1;
for (int i = 0; i < n; i++) {
numLoops*= (size - i);
}
for (int i = 0; i < numLoops; i++) {
//do something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4871 次 |
| 最近记录: |